A snapshot: read at commit 707a04c7ce8 on 2026-10-18T00:06:01Z by majordomus 0.29.0. Nothing on this page is read again. See it live
I0911
A source change does not rebuild the world, and the context stays small
Where it stands
devtask.issue- Readiness
- blocked 1 of its dependencies is not DONE
- Status
- BLOCKED
- Can start
- not now
- Milestone
- Milestone status
- ACTIVE
- Wave
4- Waiting on
- Holds back
- Behind it in all
3- Evidence
0of3
| In the way | Subject | Detail |
|---|---|---|
| issue | I0909 | I0909 is not DONE |
Moves
plan.transitionWhat it is
- Objective
- Make the container build reuse dependency layers and caches so that a source-only change does not rebuild every dependency, and keep the build context to the inputs the deployment object declares.
- Why
- A remote builder that receives the whole worktree uploads the history, the node modules and every worktree artifact, then rebuilds every crate for a one-line change. Both costs are avoidable and both are measurable.
- Now
- No container build exists, so neither the context size nor the build duration has ever been measured.
- Wanted
- Clean and warm build durations and the context size are measured and bounded, and the ignore rules derive from the declared build inputs rather than from a second hand-kept list.
- Done when
- unknown: the record declares no `completion`
- Risk
- An ignore file tuned for size can silently drop a workspace member and produce a build that fails only on the remote builder, where the feedback loop is slowest.
Acceptance
- A source-only change reuses the dependency layers and the measured warm build is materially faster than the clean one
- A documentation-only change does not rebuild Rust dependencies where the layer order permits it
- The ignore rules derive from the deployment object's declared build inputs, and excluding a file the workspace or the site generator needs is caught by a build rather than in production
- The build context size is measured and bounded by a declared budget
- Any additional build tool introduced for caching is pinned, builder-only, absent from the runtime image and justified by a measured improvement
- Validation
majordomus deploy doctorbash test/run.sh- Evidence required
cache_layerswarm_build_measuredcontext_budget- Evidence present
- unknown: the record carries no `evidence` entries
Scope
- Touches
deploy/flyapps/majordomus-cli/src/deploy/build.rs- Not
A build system replacing CargoAny caching that changes what the produced binary contains- Depends on
- Priority
- p1
- Profile
- implementation
- Parallel safe
- true
- Owner
- unknown: the record declares no `owner`
The work so far
- Branches
- none
- Merged
- none
- Commits
0- Trunk
- master
- Sessions
- none
- Created
- 2026-09-06
- Updated
- 2026-09-06
- Started
- unknown: the record declares no `started_at`
- Verified
- unknown: the record declares no `verified_at`
- Completed
- unknown: the record declares no `completed_at`
Synchronisation
- Adapter
scripts/github-sync- Repository
- unknown: the derived plan's header carries no repository
- External issue
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
- State there
- unknown: a live GitHub state; this executable makes no network call, so only `scripts/github-sync --check` can answer it
Findings
Nothing is wrong with these records.