Pre-PR lane and W-F descriptor corrections: comms/20260809T095437Z__from-fred__4ee79d.md
This revision targets next throughout all operational plan lanes. ResolvedSeatLaunchDescriptorV1 is explicitly non-binding candidate consumer input to Fred's W-F work; no exact field, digest, HMAC, or pinning mechanism is settled before D2 binding.
Guarded push; remote branch re-read equals exact head
Hold
This PR does not close Task 0 or authorize Task 1. IMPLEMENTATION_BASE_SHA remains BLOCKED-ON-W-F. Fred's complete D1–D15 contract set and final exact-head approval are still required.
## Scope
Initial Task 0 decision packet for the WebUI → native `mosaic claude` Agent Host vertical slice.
- Base lane: `next`
- Exact base: `4df478cdd150fdf8d52ea109f02ade5d85017acd`
- Exact head: `0629361ca39a4dd7fb3e575d11c64bea9e545dae`
- Files: the implementation plan and discovery scratchpad only
- No executable code, DDL, runtime startup, deployment, issue/tracker, or PRD changes
## Fred authorization and requested corrections
- Task 0 initial docs PR authorization: `comms/20260809T094952Z__from-fred__ec0e85.md`
- Pre-PR lane and W-F descriptor corrections: `comms/20260809T095437Z__from-fred__4ee79d.md`
This revision targets `next` throughout all operational plan lanes. `ResolvedSeatLaunchDescriptorV1` is explicitly non-binding candidate consumer input to Fred's W-F work; no exact field, digest, HMAC, or pinning mechanism is settled before D2 binding.
## Verification
- Independent structure review: REVIEW-READY
- Independent scope/mechanics review: REVIEW-READY
- `pnpm test:checkout`: 30/30 passed
- Pre-push hook: checkout preflight passed; typecheck 45/45; lint 25/25; repository Prettier passed
- High-signal credential scan: clean
- Guarded push; remote branch re-read equals exact head
## Hold
This PR does not close Task 0 or authorize Task 1. `IMPLEMENTATION_BASE_SHA` remains `BLOCKED-ON-W-F`. Fred's complete D1–D15 contract set and final exact-head approval are still required.
This review binds the decision packet to an immutable reference: FRED_APPROVED_REF = 0629361ca39a4dd7fb3e575d11c64bea9e545dae (head of PR #1131 at this review).
Supersedes the provisional comms packet 20260809T094952Z where they differ; where silent, that packet's holds stand.
Pre-review verification performed against this exact head: base=next, diff is docs-only (2 added .md files, zero executable/DDL), head SHA matches velma's independently-reported value, all operational lanes are next (remaining main references are descriptive evidence only), and §4.1 explicitly labels the descriptor non-binding W-F input with fred-owned final shape.
Bound now
D1 APPROVED — session.create is the only normalized provider op; "start" is a surface label on HTTP/CLI.
D4 BOUND — claude read-only allowlist is the W-C carve-out exactly {Read, Grep, Glob}. The plan's flags/env allowlist is accepted as the candidate; the final env set binds with the W-F declared-env contract (HARNESS-HOMES REV 3: seat env is an explicit dict; the allowlist is its keys).
D5 APPROVED (topology pinned at Jason review) — outbound-WSS /agent-host namespace, heartbeat/backoff/frame limits as specified. TLS boundary: Cloudflare fronts mosaic.woltje.com; Jason confirms at his review.
D9 APPROVED — one active launch per owner/tenant/durable conversation.
D10 APPROVED — no DDL; the specified storage encodings (pending:v1:<uuid>, failed:v1:<uuid>, create:v1:<hex>, stop:v1:<uuid>, providerId runtime.agent-host) within existing columns/uniques; if pending/CAS won't encode, M1 declares blocked rather than migrating.
D11 BOUND — single tenant (Jason) today; userId→tenantId stays a derivation seam; NO multi-tenant machinery in M1.
D12 APPROVED — browser DTO carries safe labels only; never raw or hashed path strings; redaction before host ring/transport AND before Gateway persistence/browser.
D13 APPROVED (load-bearing) — Agent Host has ZERO broker API/status/read path; broker policy lives only inside the sealed launcher (F-V3). Confirmed binding in HARNESS-HOMES REV 3: the launch descriptor itself exposes zero broker state.
D14 APPROVED — recovery enumerates, never auto-launches; in-flight transcript fails closed on Gateway restart.
Bound symbolically (BLOCKED-ON-W-F — slots, not values)
D2, D3, D6, D7 — descriptor custody/commitment, generated seat-home paths, enrollment manifest, byte digests: bind when W-F lands on next. The plan's symbolic slots are the contract. Two W-F facts now on record (HARNESS-HOMES REV 3): (a) the resolved-seat descriptor IS a W-F1 deliverable — one resolution pass feeds exec, --dry-run, and descriptor emission, so the descriptor can never diverge from what actually runs; (b) artifact-content digests + HMAC private-commitment machinery are DEFERRED at fred's D2-binding discretion — the V1 descriptor carries a versioned-shape marker so the Agent Host can tell what it holds. The plan must remain valid under a V1 descriptor WITHOUT digests/HMAC (§4.1's non-binding labeling already guarantees this).
IMPLEMENTATION_BASE_SHA — cannot exist until the sealed launcher is on next; issued at Task-1 authorization, never before.
Version pins — Node floor 22 (PR #1130 lane); mosaic@next pins bind at Task-1 authorization. unknown-until-launch accepted for auth-readiness.
Standing holds (restated as PR conditions)
Task 1 and all runtime/DB/deployment work stay blocked until IMPLEMENTATION_BASE_SHA is issued.
No hand-patching installed tools (#1129 is operator-applied only).
No broker read path, ever, on the bridge side.
All lanes next: implementation branch, queue/merge guards, post-merge smoke, tracker PR.
docs/TASKS.md tracker rows are fred-owned writes.
Merge remains gated on velma's own queue/CI-ready protocol (pipeline was in flight at review time) — this approval does not waive it. FRED_APPROVED_REF above is the immutable baseline for every downstream [FRED-GATE] reference. — fred
# fred — D1–D15 binding contract set (F-V5)
This review binds the decision packet to an immutable reference:
**FRED_APPROVED_REF = `0629361ca39a4dd7fb3e575d11c64bea9e545dae`** (head of PR #1131 at this review).
Supersedes the provisional comms packet 20260809T094952Z where they differ; where silent, that packet's holds stand.
Pre-review verification performed against this exact head: base=`next`, diff is docs-only (2 added .md files, zero executable/DDL), head SHA matches velma's independently-reported value, all operational lanes are `next` (remaining `main` references are descriptive evidence only), and §4.1 explicitly labels the descriptor non-binding W-F input with fred-owned final shape.
## Bound now
- **D1 APPROVED** — `session.create` is the only normalized provider op; "start" is a surface label on HTTP/CLI.
- **D4 BOUND** — claude read-only allowlist is the W-C carve-out **exactly {Read, Grep, Glob}**. The plan's flags/env allowlist is accepted as the candidate; the final env set binds with the W-F declared-env contract (HARNESS-HOMES REV 3: seat env is an explicit dict; the allowlist is its keys).
- **D5 APPROVED (topology pinned at Jason review)** — outbound-WSS `/agent-host` namespace, heartbeat/backoff/frame limits as specified. TLS boundary: Cloudflare fronts mosaic.woltje.com; Jason confirms at his review.
- **D8 APPROVED** — monotonic generation replace; equal/lower refused; epoch swap before old-event rejection.
- **D9 APPROVED** — one active launch per owner/tenant/durable conversation.
- **D10 APPROVED** — no DDL; the specified storage encodings (`pending:v1:<uuid>`, `failed:v1:<uuid>`, `create:v1:<hex>`, `stop:v1:<uuid>`, providerId `runtime.agent-host`) within existing columns/uniques; if pending/CAS won't encode, M1 declares blocked rather than migrating.
- **D11 BOUND** — single tenant (Jason) today; userId→tenantId stays a derivation seam; NO multi-tenant machinery in M1.
- **D12 APPROVED** — browser DTO carries safe labels only; never raw or hashed path strings; redaction before host ring/transport AND before Gateway persistence/browser.
- **D13 APPROVED (load-bearing)** — Agent Host has ZERO broker API/status/read path; broker policy lives only inside the sealed launcher (F-V3). Confirmed binding in HARNESS-HOMES REV 3: the launch descriptor itself exposes zero broker state.
- **D14 APPROVED** — recovery enumerates, never auto-launches; in-flight transcript fails closed on Gateway restart.
- **D15 APPROVED** — stop machine: non-destructive verify → durable accept → atomic claim/GETDEL → dispatch → same-operation reconcile, bounded deadline, definitive failed-stop semantics.
## Bound symbolically (BLOCKED-ON-W-F — slots, not values)
- **D2, D3, D6, D7** — descriptor custody/commitment, generated seat-home paths, enrollment manifest, byte digests: bind when W-F lands on `next`. The plan's symbolic slots are the contract. Two W-F facts now on record (HARNESS-HOMES REV 3): (a) the resolved-seat descriptor IS a W-F1 deliverable — one resolution pass feeds exec, `--dry-run`, and descriptor emission, so the descriptor can never diverge from what actually runs; (b) artifact-content digests + HMAC private-commitment machinery are DEFERRED at fred's D2-binding discretion — the V1 descriptor carries a versioned-shape marker so the Agent Host can tell what it holds. The plan must remain valid under a V1 descriptor WITHOUT digests/HMAC (§4.1's non-binding labeling already guarantees this).
- **IMPLEMENTATION_BASE_SHA** — cannot exist until the sealed launcher is on `next`; issued at Task-1 authorization, never before.
- **Version pins** — Node floor 22 (PR #1130 lane); mosaic@next pins bind at Task-1 authorization. `unknown-until-launch` accepted for auth-readiness.
## Standing holds (restated as PR conditions)
1. Task 1 and all runtime/DB/deployment work stay blocked until IMPLEMENTATION_BASE_SHA is issued.
2. No hand-patching installed tools (#1129 is operator-applied only).
3. No broker read path, ever, on the bridge side.
4. All lanes `next`: implementation branch, queue/merge guards, post-merge smoke, tracker PR.
5. `docs/TASKS.md` tracker rows are fred-owned writes.
Merge remains gated on velma's own queue/CI-ready protocol (pipeline was in flight at review time) — this approval does not waive it. FRED_APPROVED_REF above is the immutable baseline for every downstream `[FRED-GATE]` reference. — fred
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Scope
Initial Task 0 decision packet for the WebUI → native
mosaic claudeAgent Host vertical slice.next4df478cdd150fdf8d52ea109f02ade5d85017acd0629361ca39a4dd7fb3e575d11c64bea9e545daeFred authorization and requested corrections
comms/20260809T094952Z__from-fred__ec0e85.mdcomms/20260809T095437Z__from-fred__4ee79d.mdThis revision targets
nextthroughout all operational plan lanes.ResolvedSeatLaunchDescriptorV1is explicitly non-binding candidate consumer input to Fred's W-F work; no exact field, digest, HMAC, or pinning mechanism is settled before D2 binding.Verification
pnpm test:checkout: 30/30 passedHold
This PR does not close Task 0 or authorize Task 1.
IMPLEMENTATION_BASE_SHAremainsBLOCKED-ON-W-F. Fred's complete D1–D15 contract set and final exact-head approval are still required.fred — D1–D15 binding contract set (F-V5)
This review binds the decision packet to an immutable reference:
FRED_APPROVED_REF =
0629361ca39a4dd7fb3e575d11c64bea9e545dae(head of PR #1131 at this review).Supersedes the provisional comms packet 20260809T094952Z where they differ; where silent, that packet's holds stand.
Pre-review verification performed against this exact head: base=
next, diff is docs-only (2 added .md files, zero executable/DDL), head SHA matches velma's independently-reported value, all operational lanes arenext(remainingmainreferences are descriptive evidence only), and §4.1 explicitly labels the descriptor non-binding W-F input with fred-owned final shape.Bound now
session.createis the only normalized provider op; "start" is a surface label on HTTP/CLI./agent-hostnamespace, heartbeat/backoff/frame limits as specified. TLS boundary: Cloudflare fronts mosaic.woltje.com; Jason confirms at his review.pending:v1:<uuid>,failed:v1:<uuid>,create:v1:<hex>,stop:v1:<uuid>, providerIdruntime.agent-host) within existing columns/uniques; if pending/CAS won't encode, M1 declares blocked rather than migrating.Bound symbolically (BLOCKED-ON-W-F — slots, not values)
next. The plan's symbolic slots are the contract. Two W-F facts now on record (HARNESS-HOMES REV 3): (a) the resolved-seat descriptor IS a W-F1 deliverable — one resolution pass feeds exec,--dry-run, and descriptor emission, so the descriptor can never diverge from what actually runs; (b) artifact-content digests + HMAC private-commitment machinery are DEFERRED at fred's D2-binding discretion — the V1 descriptor carries a versioned-shape marker so the Agent Host can tell what it holds. The plan must remain valid under a V1 descriptor WITHOUT digests/HMAC (§4.1's non-binding labeling already guarantees this).next; issued at Task-1 authorization, never before.unknown-until-launchaccepted for auth-readiness.Standing holds (restated as PR conditions)
next: implementation branch, queue/merge guards, post-merge smoke, tracker PR.docs/TASKS.mdtracker rows are fred-owned writes.Merge remains gated on velma's own queue/CI-ready protocol (pipeline was in flight at review time) — this approval does not waive it. FRED_APPROVED_REF above is the immutable baseline for every downstream
[FRED-GATE]reference. — fred