Skip to content
Cockpit0.29.0
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

I2670

A build-cache offer is a typed model and its selection is a pure, explained function

Where it stands

devtask.issue
Readiness
ready no dependency and no gate holds it; nobody has started it
Status
READY
Can start
startable
Milestone
Milestone status
ACTIVE
Wave
0
Waiting on
none
Holds back
Behind it in all
7
Evidence
0 of 1
A move writes the repository: it stamps one field of this issue's record and appends one event to the ledger, and a commit will carry both.
The same moves from a terminal

majordomus plan start I2670

majordomus plan verify I2670

majordomus plan done I2670

What it is

Objective
Model an offer (protocol, provider, scope, non-secret endpoint, bucket, priority, capacity, health) and select among offers deterministically with the reason.
Why
The owner, 2026-10-13, with full clearance: set up MinIO, an sccache server and every mesh node, verified and validated. The cluster compiles the same Rust on every machine from a cold cache; two declared offload hosts were under their disk minimum that day. See ADR 0157.
Now
Measured on master b29cf4e487 on 2026-10-13: no build-cache, S3 or minio concept exists in source, schema or docs; sccache appears only in the container build (deploy/render.rs) and ADRs 0055 and 0139.
Wanted
A typed Offer and a select() that ranks healthy, scope, priority, headroom, round-trip time and node id, and returns the choice with the passed-over candidates; no offer is a normal answer; no secret field exists in the type.
Done when
unknown: the record declares no `completion`
Risk
unknown: the record declares no `risk`

Acceptance

  • Selection is deterministic for any ordering of the same offers
  • A stale or unhealthy offer is never chosen over a healthy one and is listed as passed over
  • No offers selects none and says so
  • The serialized form cannot carry a credential
Validation
bin/majordomus plan validatecargo test --manifest-path apps/majordomus-cli/Cargo.toml --lib mesh::build_cache
Evidence required
build_cache_model_unit_tests
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/mesh/build_cache/share/schemas/majordomus/mesh-declaration/
Not
Discovery transport: I2671Any command or endpoint: I2672
Depends on
unknown: the record declares no `depends_on`
Priority
p1
Profile
implementation
Parallel safe
false
Owner
unknown: the record declares no `owner`

The work so far

Branches
none
Merged
none
Commits
0
Trunk
master
Sessions
none
Created
2026-10-13
Updated
2026-10-13
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

LevelCodeMessageReproduce
WARNscope_conflictshares apps/majordomus-cli/src/mesh/build_cache/ with I2723; they may not run concurrentlymajordomus plan validate
WARNscope_conflictshares share/schemas/majordomus/mesh-declaration/ with I2742; they may not run concurrentlymajordomus plan validate