mos-dt-0 and Mos
8d1d6e5e76
feat(wake): #958 A11 preimage.sh — durable provenance for the operator-side preimage definition ( #964 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Closes #958 .
The preimage definition (source-adapter.sh) is the single most consequential file in the wake pipeline — every observed_hash is a sha256 of what it emits — and it was UNVERSIONED: no git history, no backup. When it was edited at 07:27 on 2026-07-30, attribution was recoverable only because an agent transcript happened to still be on disk. A11 gives that file durable provenance (option (2) of #958 : recorded content-addressed, not in-band).
DESIGN, per the pre-registration:
- Provenance is OUT-OF-BAND (never on the adapter's stdout) — an in-band record would advance observed_hash for every source at once and manufacture the re-baseline it exists to explain (B3).
- The obligation never depends on the provenance path: a missing/corrupt store cannot halt the detector or swallow a wake (#940 advisory-fields precedent; B4).
- DESC_FMT=d1 is NOT the provenance record — the tag versions the descriptor FORMAT; a behaviour change that keeps descriptor shape re-baselines every hash and leaves the tag unchanged (B6).
CREDENTIAL HARD GATE (rebuilt after the first verdict FAILED it): byte capture is now RECORD-ONLY BY DEFAULT (extras opt in via WAKE_PREIMAGE_CAPTURE), not allow-by-default-refuse-on-shape — because a shape list can only refuse the secrets someone already enumerated, and the tool's own usage text recommended adding detector.env (where HMAC material lives). Deny is evaluated on BOTH raw and resolved path forms with resolved anchors, ordered before allow — closing the realpath-before-deny ordering defect that let a renamed symlink target through.
VERIFICATION (reviewer, mos-dt, independent of the author's claims):
- Seven decoy cases by planted-marker-then-grep-whole-state-dir: known cred path / same-name symlink / RENAMED-target symlink / prefixed secret / prefixless secret / opted-in-symlink-to-DENIED-target all REFUSED; opted-in-symlink-to-ALLOWED-target CAPTURED (positive control that the harness can capture at all, and that C was not closed by breaking every symlink).
- Polarity-completeness self-test RE-RUN with the shape list stubbed always-allow AND both deny lists stubbed — case D still safe: the flip is complete, the shape list is not load-bearing. Each stub proven live first (a stub that silently fails to apply reports the dangerous state as safe).
- B11: rm-then-change fails LOUD (rc=1), refuses to re-baseline, leaves the ledger absent; absent-with-emptied-objects still first-installs cleanly (absent-is-not-corrupt not paid for by breaking first install).
- RED-first reproduced exactly P13-P16 pre-fix; each refusal corroborated three ways (loud stderr, ledger row captured:false WITH a hash so attribution survives refusal, objects/ holding only the adapter).
KNOWN RESIDUAL (filed #969 , non-gating): the deny check is both-forms but the suite needles only the resolved form — a deny reduced to resolved-only survives 17/17 green and would leak a renamed-symlink case. No reachable leak at this head (shipped code correct on all seven decoys); it constrains a FUTURE edit. Doctrine: a both-forms fix needs a needle per form; a fixture that satisfies its assertion through a DIFFERENT rule is testing the rule it did not mean to test.
Authored by pepper (sb-it-1-dt); independently reviewed by mos-dt (sb-it-1-dt) under diff-blind pre-registration (7242688b1, predating first read) — NOT CLEAR on the first verdict (B2/B11 failed by decoy), CLEAR at 8aff7d8 after the polarity rebuild. Manifest version 0.7.0.
Co-authored-by: mos-dt-0 <[email protected] >
2026-07-30 21:48:06 +00:00
jason.woltje and Mos
13e6ce5e5c
fix(wake): #927 enqueue TOCTOU — move stale-tmp cleanup off the hot enqueue path (no concurrent in-flight-write clobber) ( #928 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-26 10:56:40 +00:00
jason.woltje and Mos
937a276208
fix(wake): #920 quarantine render-refused drain entry (no head-of-line block) + reconciler enumerations render orientation-tier (reconciled:true, render-tier not class=digest) ( #922 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-26 08:45:51 +00:00
jason.woltje and Mos
2378665eaf
feat(wake): W7 A10 idempotent installer + mosaic-wake.service (component-manifest, Gate-A, blank-reset retire, snapshot-guard, fail-closed install-validate) ( #911 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-26 04:19:09 +00:00
jason.woltje and Mos
003cdaa1a6
feat(wake): W6 — off-host dead-man beacon + pluggable alarm-sink adapter ( #910 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-26 02:30:28 +00:00
jason.woltje and Mos
320f5bfb6f
feat(wake): W5 — synthetic-canary FN-oracle + source-parity reconciler ( #909 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-26 02:04:19 +00:00
jason.woltje and Mos
5df47e735e
feat(wake): W4 — per-host delta-gated detector daemon (fail-loud source semantics, enqueues to W2 store) ( #907 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-26 01:04:55 +00:00
jason.woltje and Mos
10d957d095
feat(wake): W3 — cumulative-state digest renderer + non-circular HMAC signer ( #904 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-26 00:32:12 +00:00
jason.woltje and Mos
28f022d9c0
feat(wake): W2 — three-cursor durable store + RECEIVED/CONSUMED ack-wrapper + watch-list schema ( #903 )
...
ci/woodpecker/push/publish Pipeline was canceled
ci/woodpecker/push/ci Pipeline was canceled
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-25 23:58:08 +00:00
jason.woltje and Mos
2726fab5e0
chore(framework): wire agent-send.test.sh into CI test:framework-shell (W1 follow-up) ( #901 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-25 23:23:24 +00:00
jason.woltje and Mos
2483dada33
fix(framework): pr-review.sh -r/--repo + -H/--host overrides + UA + repo preflight (Patches 5/5c) ( #896 )
...
ci/woodpecker/push/publish Pipeline was canceled
ci/woodpecker/push/ci Pipeline was canceled
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-25 22:08:08 +00:00
jason.woltje and Mos
a32ce4c8f9
feat(869-c4): activation version-coupling assertion (Part of #869 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Part of #869
Mos (id-11) Gate-16 merge: independent APPROVE @90eb48fa (fail-closed identity locks byte-unchanged verified), author id2 != approver id11, clean mosaic-coder author, CI green wp1992. #869 Point-1 CODE COMPLETE (C1/C3/C5/C2/C4).
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-23 19:07:27 +00:00
jason.woltje and Mos
d351caad36
feat(869-c2): install-ordering enforcement-hook guard (Part of #869 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Part of #869
Mos (id-11) Gate-16 merge: independent APPROVE @b6f36564 (8/8, verified vs real production settings template), author id2 != approver id11, clean mosaic-coder author, CI green wp1988.
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-23 18:48:33 +00:00
jason.woltje and Mos
4422231bdb
feat: per-agent Gitea identity resolution ( #873 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Closes #873
Mos (id-11) Gate-16 merge: independent APPROVE @4b472a22 (author-blocker dissolved via (a) re-author, identical tree hash to tech-approved head), author id2 != approver id11, clean mosaic-coder commit-author, CI green wp1985. Framework train COMPLETE 6/6.
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-23 18:09:34 +00:00
jason.woltje and Mos
48fd1df28a
fix(ci-queue-wait): treat absent branch (404) as queue-clear ( #872 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was canceled
Closes #872
Mos (id-11) Gate-16 merge: independent review APPROVE @23cbdaf8, author jason.woltje(id2) != approver Mos(id11), CI green wp1974.
Co-authored-by: jason.woltje <[email protected] >
Co-committed-by: jason.woltje <[email protected] >
2026-07-23 17:08:57 +00:00
jason.woltje
344d86a635
fix( #812 follow-up): normalize detect-platform.sh host-match port comparison by scheme ( #859 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-20 10:13:29 +00:00
jason.woltje
acd7d380f6
fix(framework): install deps on worktree bootstrap + legible deps-preflight at gate seam ( #856 ) ( #858 )
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/publish Pipeline was successful
2026-07-20 09:38:12 +00:00
jason.woltje
2509eb7646
WI-6 ( #833 ): constrained recovery command + mosaic-context-refresh skill wrapper ( #846 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-20 03:33:00 +00:00
jason.woltje
07553ead33
WI-5 #832 : Receipt-challenge protocol (compaction-refresh, milestone 188) ( #845 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-19 23:18:56 +00:00
jason.woltje
e522b22fa4
WI-4 ( #831 ): verbatim-hashed normative fragments (B_payload/H_payload) ( #844 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-19 20:34:20 +00:00
jason.woltje
8dfcf1903e
fix( #838 ): bound broker reply deadlines + fail-close empty-read; de-flake acceptance harness ( #839 )
...
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
Bound broker reply deadlines (separate read/lock/send budgets, BROKER_BUSY-before-mutation, fresh post-handle send budget → closes drop-after-commit window); fail-close empty/truncated read → GATE_UNAVAILABLE deny. De-flakes the 1917 acceptance surface. terra CODE APPROVE (pi) + Opus SECREV APPROVED (claude) — RoR comment 18143. Promote-lease-lost-ACK residual = fail-safe two-generals observability-gap, routed to WI-3 D2-v5 as named-disclosed-bounded-residual (route i). Gate-16 3-principal author=gpt-sol.
closes #838
2026-07-18 07:15:50 +00:00
jason.woltje
abd2791f59
feat(mosaic): WI-2 mutator-class guard for directive-freshness ( #837 )
...
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/publish Pipeline was successful
WI-2: mutator-class guard for the compaction directive-freshness mechanism — command-position parser (prefix x var-indirection unified) + primitive-anchored invariant backstop + all-tools-hook fail-close. Parser-complete on principle: realistic evasion matrix RED-regression-covered, residual exotic evasions proven backstop-caught (B-tests), lens-convergence reached.
closes #829
2026-07-18 05:51:58 +00:00
jason.woltje
d801d6c4c8
feat(mosaic): add secure skill registration CLI ( #826 )
ci/woodpecker/push/ci-image Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-07-17 23:45:35 +00:00
jason.woltje
686c881fe4
fix: fetch actual Gitea PR head for Codex reviews ( #815 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-07-17 19:44:56 +00:00
jason.woltje
e0e7be70f5
chore(release): @mosaicstack/mosaic 0.0.48 ( #670 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-24 20:01:17 +00:00
jason.woltje
a9857c5043
fix(release): republish @mosaicstack/db 0.0.4 with BacklogService; mosaic 0.0.47 ( #668 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-24 18:54:33 +00:00
jason.woltje
e4ede69144
chore(release): mosaic 0.0.46 (persona contracts live) ( #666 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-24 18:29:01 +00:00
jason.woltje
f852250419
feat(fleet): native Mosaic backlog on @mosaicstack/db (atomic claim + TTL) ( #657 )
ci/woodpecker/push/ci-image Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was canceled
2026-06-24 14:55:10 +00:00
jason.woltje
eb795bab18
chore(release): mosaic CLI 0.0.45 ( #654 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-24 14:11:33 +00:00
jason.woltje
1020cfaf9b
chore(release): mosaic CLI 0.0.44 ( #652 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-24 06:49:04 +00:00
jason.woltje
ec8dd7ca86
chore(release): mosaic CLI 0.0.43 ( #650 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-24 06:08:20 +00:00
jason.woltje
e3adc6a1bc
chore(release): mosaic CLI 0.0.42 ( #648 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-24 05:28:28 +00:00
jason.woltje
a38a491403
chore(release): mosaic CLI 0.0.41 ( #640 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-23 02:21:04 +00:00
jason.woltje
e2336bb0ca
chore(release): mosaic CLI 0.0.40 ( #624 )
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/push/ci Pipeline was successful
2026-06-22 19:49:45 +00:00
jason.woltje
32f4215461
chore(release): bump @mosaicstack/mosaic 0.0.38 -> 0.0.39 ( #608 )
ci/woodpecker/push/ci Pipeline is pending
ci/woodpecker/push/publish Pipeline is pending
2026-06-22 02:16:12 +00:00
jason.woltje
c8b2dab0ca
chore(release): bump @mosaicstack/mosaic 0.0.37 -> 0.0.38 ( #603 )
ci/woodpecker/push/publish Pipeline was canceled
ci/woodpecker/push/ci Pipeline was canceled
2026-06-22 01:48:27 +00:00
jason.woltje
130837365f
chore(release): bump @mosaicstack/mosaic 0.0.36 -> 0.0.37 ( #597 )
ci/woodpecker/push/ci Pipeline failed
ci/woodpecker/push/publish Pipeline was successful
2026-06-21 23:27:14 +00:00
jason.woltje
2849a8f9db
chore(release): bump @mosaicstack/mosaic 0.0.35 -> 0.0.36 ( #585 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-21 21:46:15 +00:00
jason.woltje
c2c0b5fe8d
chore(release): bump @mosaicstack/mosaic 0.0.34 -> 0.0.35 ( #582 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-21 18:59:39 +00:00
jason.woltje
92316ab41e
feat(framework): P0 — MIT license + executable-leak sanitization ( #570 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-06-21 01:43:49 +00:00
jason.woltje
e834bbb83c
fix(fleet): install executable tmux helpers ( #568 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-20 22:27:46 +00:00
jason.woltje
7498fcb20d
fix(fleet): preserve agent env overrides on install ( #567 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-20 21:50:46 +00:00
jason.woltje
42d081613f
chore(release): bump mosaic cli to 0.0.32 ( #566 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
2026-06-20 21:15:25 +00:00
jason.woltje
aa221bf92e
release(mosaic): bump @mosaicstack/mosaic 0.0.30 -> 0.0.31 ( #534 )
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/tag/publish Pipeline was successful
2026-06-11 19:55:43 +00:00
jason.woltje
5f03c05523
chore(release): @mosaicstack/mosaic 0.0.30 ( #459 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-04-12 02:18:17 +00:00
jason.woltje
81c1775a03
chore(release): @mosaicstack/mosaic 0.0.29 ( #453 )
...
ci/woodpecker/push/ci Pipeline was successful
ci/woodpecker/push/publish Pipeline was successful
ci/woodpecker/tag/publish Pipeline failed
Co-authored-by: Jason Woltje <[email protected] >
Co-committed-by: Jason Woltje <[email protected] >
2026-04-08 00:42:54 +00:00
jason.woltje
1bfd8570d6
chore(release): @mosaicstack/mosaic 0.0.28 ( #450 )
2026-04-06 00:46:31 +00:00
jason.woltje
312acd8bad
chore: sweep mosaicstack/mosaic-stack → mosaicstack/stack + add short install URL ( #448 )
2026-04-06 00:39:56 +00:00
jason.woltje
bd76df1a50
feat(mosaic): drill-down main menu + provider-first flow + quick start ( #446 )
2026-04-06 00:15:23 +00:00
jason.woltje
0ae932ab34
fix: bootstrap hotfix — DTO erasure, wizard failure, port prefill, Pi SDK copy (mosaic-v0.0.26) ( #440 )
ci/woodpecker/push/publish Pipeline failed
ci/woodpecker/push/ci Pipeline was successful
2026-04-05 21:43:30 +00:00