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

I0908

A hosted process has no repository, and says so instead of failing

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
2
Waiting on
none
Holds back
none
Behind it in all
0
Evidence
0 of 3
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 I0908

majordomus plan verify I0908

majordomus plan done I0908

What it is

Objective
Separate the local mode that inspects a developer's repository from the hosted mode that serves a packaged layer, and report the capabilities that are unavailable in hosted mode from capability metadata rather than from a hand-written list.
Why
Majordomus reads a repository checkout. A Machine has no developer's home directory. Without an explicit boundary the hosted process either panics on the first read or silently serves an empty layer, and a hand-maintained list of what does not work remotely would be one more thing to drift.
Now
The executable resolves a repository from the working directory. Nothing distinguishes a packaged deployment from a local checkout, and no absolute path scan exists.
Wanted
The hosted process serves the packaged layer, the documentation, the UI and the API; a capability that genuinely requires a writable local checkout reports itself unavailable with a reason; and no absolute developer path exists anywhere in the image or its configuration.
Done when
unknown: the record declares no `completion`
Risk
Packaging this repository's own layer into the image makes the public deployment a demonstration of one repository. That is the intent, and it must be stated rather than discovered.

Acceptance

  • The packaged layer is a declared build input of the deployment object, not an implicit copy
  • A capability unavailable in hosted mode is derived from capability metadata and reported with a reason rather than panicking
  • The mode is observable through the metadata read, so an operator can tell which one a process is in
  • A scan proves no absolute developer path — /Users, a home directory, a worktree path — appears in the image, the generated configuration or the served output
Validation
cargo test --workspace --all-featuresbash test/run.sh
Evidence required
hosted_modecapability_boundaryno_local_paths
Evidence present
unknown: the record carries no `evidence` entries

Scope

Touches
apps/majordomus-cli/src/repository.rsapps/majordomus-cli/src/share.rs
Not
Making local-only capabilities work remotely by shipping a checkoutA hand-written list of unavailable capabilities
Depends on
Priority
p0
Profile
deep-work
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.