Compare commits
base: mosaicstack/stack:01e966f36d4d42af2ad58d18c2ed2b35d33f4a62
mosaicstack/stack:main
mosaicstack/stack:feat/lease-promotion-and-harness-isolation
mosaicstack/stack:fix/1099-pipefail-wake
mosaicstack/stack:fix/1099-pipefail-tests
mosaicstack/stack:fix/1099-pipefail-sweep
mosaicstack/stack:fix/framework-shell-portability
mosaicstack/stack:fix/1043-pane-git-identity
mosaicstack/stack:fix/1081-issue-close-silent-comment-failure
mosaicstack/stack:fix/1090-enrollment-wallclock-tolerance
mosaicstack/stack:feat/1082-tea-stale-token-diagnostic
mosaicstack/stack:fix/detect-platform-silent-128-outside-repo
mosaicstack/stack:feat/1050-install-state-machine-red-fixture
mosaicstack/stack:fix/pr-merge-message-field
mosaicstack/stack:feat/1051-mosaic-brain-installer
mosaicstack/stack:feat/1045-mosaic-cred
mosaicstack/stack:remediation/state
mosaicstack/stack:fix/1056-upgrade-rollback-control-race
mosaicstack/stack:fix/1019-ci-queue-timeout-harness
mosaicstack/stack:next
mosaicstack/stack:feat/rm-02-gate-registry
mosaicstack/stack:fix/rm-01-reproducible-checkout
mosaicstack/stack:remediation/mission-setup
mosaicstack/stack:fix/hygiene-inert-format-gate
mosaicstack/stack:fix/1019-queue-guard-stdin
mosaicstack/stack:feat/mos-ste-writing-standard
mosaicstack/stack:fix/1007-suite-hermeticity
mosaicstack/stack:fix/991-comment-url-scheme-normalise
mosaicstack/stack:feat/push-guard-null-case-verification
mosaicstack/stack:mos-comms-live
mosaicstack/stack:docs/heartbeat-framework-layering-ms-lead
mosaicstack/stack:feat/869-c4-version-coupling
mosaicstack/stack:feat/869-c2-install-ordering-guard
mosaicstack/stack:feat/869-c5-doctor-activation-check
mosaicstack/stack:feat/per-agent-gitea-identity
mosaicstack/stack:fix/875-belongs-case-insensitive-slug
mosaicstack/stack:fix/ci-queue-wait-404-branch-absent
mosaicstack/stack:feat/869-c1-activation-probe
mosaicstack/stack:feat/869-c3-broker-supervisor
mosaicstack/stack:fix/865-tea-cli-comment-invocation
mosaicstack/stack:feat/glpi-skills
mosaicstack/stack:fix/860-deflake-mutator-lease-gate
mosaicstack/stack:fix/850-detect-platform-port-normalization
mosaicstack/stack:fix/856-worktree-deps-preflight
mosaicstack/stack:fix/835-pr-review-approve-reject-comment-flag
mosaicstack/stack:fix/848-truthful-evidence
mosaicstack/stack:fix/812-pr-review-comment
mosaicstack/stack:fix/849-recovery-runtime-fixture-race
mosaicstack/stack:docs/758-ledger-m5-001-sync
mosaicstack/stack:feat/834-tc-server-side-doc
mosaicstack/stack:feat/833-constrained-recovery-command
mosaicstack/stack:feat/827-gate0-probe
mosaicstack/stack:governance/gate0-probe3-amendment
mosaicstack/stack:fix/795-codex-pr-diff
mosaicstack/stack:fix/795-ci-base-jq
mosaicstack/stack:fix/795-ci-base-git
mosaicstack/stack:feat/791-pr3-fleet-regen
mosaicstack/stack:feat/791-pr2-snapshot-restore
mosaicstack/stack:fix/807-glpi-206
mosaicstack/stack:fix/808-agent-send-false-sender
mosaicstack/stack:feat/791-upgrade-config-protection
mosaicstack/stack:feat/790-mosaic-yolo-claudex-pr2
mosaicstack/stack:feat/790-mosaic-yolo-claudex
mosaicstack/stack:feat/758-v1-v2-migrator
mosaicstack/stack:fix/766-exact-fleet-comms
mosaicstack/stack:test/758-reconciler-lifecycle-gates
mosaicstack/stack:docs/771-kbn101-db-role-split
mosaicstack/stack:test/758-example-profile-dispositions
mosaicstack/stack:feat/758-shared-role-resolution
mosaicstack/stack:feat/mos-logical-identity-fencing
mosaicstack/stack:feat/769-kbn100-unified-schema
mosaicstack/stack:docs/753-kbn010-threat-gate
mosaicstack/stack:feat/758-roster-v2-compiler
mosaicstack/stack:feat/756-official-discord-plugin
mosaicstack/stack:docs/758-fleet-config-management
mosaicstack/stack:fix/mos-option2-qualification-format
mosaicstack/stack:docs/issue-758-m0
mosaicstack/stack:docs/mos-option2-qualification
mosaicstack/stack:mos-comms
mosaicstack/stack:feat/tess-interaction-agent
mosaicstack/stack:fix/tess-docs-format
mosaicstack/stack:draft/mosaic-platform-prd
mosaicstack/stack:fix/installer-provider-gate-and-local-gateway-redis
mosaicstack/stack:release/mosaic-cli-0.0.37
mosaicstack/stack:feat/framework-constitution-alpha
mosaicstack/stack:fix/git-wrapper-repo-detection
mosaicstack/stack:fix/woodpecker-wrapper-legacy-mosaic
mosaicstack/stack:fix/t-a292e96f-gitea-pr-metadata
mosaicstack/stack:fix/gitea-pr-metadata-login-t-a292e96f
mosaicstack/stack:fix/t_a292e96f-pr-metadata-gitea
mosaicstack/stack:fix/t_3a368a52-gitea-usc-login
mosaicstack/stack:fix/bootstrap-hotfix
mosaicstack/stack:fix/populate-known-packages-list
mosaicstack/stack:fix/idempotent-init
mosaicstack/stack:v0.0.39-alpha
mosaicstack/stack:mosaic-v0.0.31
mosaicstack/stack:fed-v0.2.0-m2
mosaicstack/stack:fed-v0.1.0-m1
mosaicstack/stack:mosaic-v0.0.29
mosaicstack/stack:mosaic-v0.0.28
mosaicstack/stack:mosaic-v0.0.27
mosaicstack/stack:mosaic-v0.0.26
mosaicstack/stack:mosaic-v0.0.25
mosaicstack/stack:mosaic-v0.0.24
mosaicstack/stack:v0.2.0
mosaicstack/stack:v0.1.0
mosaicstack/stack:v0.0.8
mosaicstack/stack:v0.0.7
mosaicstack/stack:v0.0.6
mosaicstack/stack:v0.0.5
mosaicstack/stack:v0.0.4
..
compare: mosaicstack/stack:remediation/mission-setup
mosaicstack/stack:feat/lease-promotion-and-harness-isolation
mosaicstack/stack:fix/1099-pipefail-wake
mosaicstack/stack:main
mosaicstack/stack:fix/1099-pipefail-tests
mosaicstack/stack:fix/1099-pipefail-sweep
mosaicstack/stack:fix/framework-shell-portability
mosaicstack/stack:fix/1043-pane-git-identity
mosaicstack/stack:fix/1081-issue-close-silent-comment-failure
mosaicstack/stack:fix/1090-enrollment-wallclock-tolerance
mosaicstack/stack:feat/1082-tea-stale-token-diagnostic
mosaicstack/stack:fix/detect-platform-silent-128-outside-repo
mosaicstack/stack:feat/1050-install-state-machine-red-fixture
mosaicstack/stack:fix/pr-merge-message-field
mosaicstack/stack:feat/1051-mosaic-brain-installer
mosaicstack/stack:feat/1045-mosaic-cred
mosaicstack/stack:remediation/state
mosaicstack/stack:fix/1056-upgrade-rollback-control-race
mosaicstack/stack:fix/1019-ci-queue-timeout-harness
mosaicstack/stack:next
mosaicstack/stack:feat/rm-02-gate-registry
mosaicstack/stack:fix/rm-01-reproducible-checkout
mosaicstack/stack:remediation/mission-setup
mosaicstack/stack:fix/hygiene-inert-format-gate
mosaicstack/stack:fix/1019-queue-guard-stdin
mosaicstack/stack:feat/mos-ste-writing-standard
mosaicstack/stack:fix/1007-suite-hermeticity
mosaicstack/stack:fix/991-comment-url-scheme-normalise
mosaicstack/stack:feat/push-guard-null-case-verification
mosaicstack/stack:mos-comms-live
mosaicstack/stack:docs/heartbeat-framework-layering-ms-lead
mosaicstack/stack:feat/869-c4-version-coupling
mosaicstack/stack:feat/869-c2-install-ordering-guard
mosaicstack/stack:feat/869-c5-doctor-activation-check
mosaicstack/stack:feat/per-agent-gitea-identity
mosaicstack/stack:fix/875-belongs-case-insensitive-slug
mosaicstack/stack:fix/ci-queue-wait-404-branch-absent
mosaicstack/stack:feat/869-c1-activation-probe
mosaicstack/stack:feat/869-c3-broker-supervisor
mosaicstack/stack:fix/865-tea-cli-comment-invocation
mosaicstack/stack:feat/glpi-skills
mosaicstack/stack:fix/860-deflake-mutator-lease-gate
mosaicstack/stack:fix/850-detect-platform-port-normalization
mosaicstack/stack:fix/856-worktree-deps-preflight
mosaicstack/stack:fix/835-pr-review-approve-reject-comment-flag
mosaicstack/stack:fix/848-truthful-evidence
mosaicstack/stack:fix/812-pr-review-comment
mosaicstack/stack:fix/849-recovery-runtime-fixture-race
mosaicstack/stack:docs/758-ledger-m5-001-sync
mosaicstack/stack:feat/834-tc-server-side-doc
mosaicstack/stack:feat/833-constrained-recovery-command
mosaicstack/stack:feat/827-gate0-probe
mosaicstack/stack:governance/gate0-probe3-amendment
mosaicstack/stack:fix/795-codex-pr-diff
mosaicstack/stack:fix/795-ci-base-jq
mosaicstack/stack:fix/795-ci-base-git
mosaicstack/stack:feat/791-pr3-fleet-regen
mosaicstack/stack:feat/791-pr2-snapshot-restore
mosaicstack/stack:fix/807-glpi-206
mosaicstack/stack:fix/808-agent-send-false-sender
mosaicstack/stack:feat/791-upgrade-config-protection
mosaicstack/stack:feat/790-mosaic-yolo-claudex-pr2
mosaicstack/stack:feat/790-mosaic-yolo-claudex
mosaicstack/stack:feat/758-v1-v2-migrator
mosaicstack/stack:fix/766-exact-fleet-comms
mosaicstack/stack:test/758-reconciler-lifecycle-gates
mosaicstack/stack:docs/771-kbn101-db-role-split
mosaicstack/stack:test/758-example-profile-dispositions
mosaicstack/stack:feat/758-shared-role-resolution
mosaicstack/stack:feat/mos-logical-identity-fencing
mosaicstack/stack:feat/769-kbn100-unified-schema
mosaicstack/stack:docs/753-kbn010-threat-gate
mosaicstack/stack:feat/758-roster-v2-compiler
mosaicstack/stack:feat/756-official-discord-plugin
mosaicstack/stack:docs/758-fleet-config-management
mosaicstack/stack:fix/mos-option2-qualification-format
mosaicstack/stack:docs/issue-758-m0
mosaicstack/stack:docs/mos-option2-qualification
mosaicstack/stack:mos-comms
mosaicstack/stack:feat/tess-interaction-agent
mosaicstack/stack:fix/tess-docs-format
mosaicstack/stack:draft/mosaic-platform-prd
mosaicstack/stack:fix/installer-provider-gate-and-local-gateway-redis
mosaicstack/stack:release/mosaic-cli-0.0.37
mosaicstack/stack:feat/framework-constitution-alpha
mosaicstack/stack:fix/git-wrapper-repo-detection
mosaicstack/stack:fix/woodpecker-wrapper-legacy-mosaic
mosaicstack/stack:fix/t-a292e96f-gitea-pr-metadata
mosaicstack/stack:fix/gitea-pr-metadata-login-t-a292e96f
mosaicstack/stack:fix/t_a292e96f-pr-metadata-gitea
mosaicstack/stack:fix/t_3a368a52-gitea-usc-login
mosaicstack/stack:fix/bootstrap-hotfix
mosaicstack/stack:fix/populate-known-packages-list
mosaicstack/stack:fix/idempotent-init
mosaicstack/stack:v0.0.39-alpha
mosaicstack/stack:mosaic-v0.0.31
mosaicstack/stack:fed-v0.2.0-m2
mosaicstack/stack:fed-v0.1.0-m1
mosaicstack/stack:mosaic-v0.0.29
mosaicstack/stack:mosaic-v0.0.28
mosaicstack/stack:mosaic-v0.0.27
mosaicstack/stack:mosaic-v0.0.26
mosaicstack/stack:mosaic-v0.0.25
mosaicstack/stack:mosaic-v0.0.24
mosaicstack/stack:v0.2.0
mosaicstack/stack:v0.1.0
mosaicstack/stack:v0.0.8
mosaicstack/stack:v0.0.7
mosaicstack/stack:v0.0.6
mosaicstack/stack:v0.0.5
mosaicstack/stack:v0.0.4
10
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
b705a4dae9 |
docs(remediation): sharpen D-8 — the conformance harness must itself be conformance-tested
ci/woodpecker/pr/ci Pipeline was successful
Per Mos. Two requirements, both load-bearing: RM-02: the gate registry must SELF-VERIFY that every registered case demonstrably runs and demonstrably fails on a known-bad input. Presence in the registry is not evidence. A check is not trusted until it has been shown to fail. This is mutation testing / negative control at the registry level — the conformance harness must itself be conformance-tested. RM-55 inherits the same recursion: the harness must be observed red before its green means anything. Reviewer disclosure: rev-974 could have silently substituted a working fixture and reported AC2 PASS, and nothing would have caught it. The 'if a check is unrunnable, say so rather than silently substituting' clause is what makes a PASS mean anything, and must appear in every reviewer brief this mission issues. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
27350d9f8d |
docs(remediation): board — #1025 merged, D-8 banked, phase EXECUTING
ci/woodpecker/pr/ci Pipeline was canceled
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
f8b65463ab |
docs(remediation): bank D-8 — a pre-registered check that was not runnable as written
ci/woodpecker/pr/ci Pipeline was canceled
PR #1025's AC2 fixture (mkdir -p apps/*/venv/lib) does not do what it claims when the glob is unmatched. rev-974 ran it exactly as written, caught the defect, re-ran the intended assertion at an explicit path, and DISCLOSED the substitution rather than silently reporting PASS. Pre-registration protects a check from being retrofitted to the implementation. It does not make the check correct. An unverified gate appeared inside the mechanism built to catch unverified gates. Requirement added to RM-02: the registry must self-verify that every registered case actually runs and can actually fail — presence in the registry is not evidence. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
fb3221af27 |
docs(remediation): D-7 reaper doctrine into RM-50; adopt board-roll for the LIVE board
ci/woodpecker/pr/ci Pipeline was canceled
D-7 resolution recorded. Mos verified attribution independently and reaped ~5.2G of dead-session scratch as lead coordinator. The finding is the gap it exposed: the authority to reap exists, the deterministic reaper does not. Two doctrine points now binding on RM-50: (1) 'agents should tidy up' is instructions-are-not-enforcement wearing another hat — a reaper must own it; (2) refusing to unilaterally delete another session's scratch was correct, and the fix is mechanically-decidable ownership/liveness, not braver deletion. Reaper requirements specified: mechanical liveness (not mtime alone), age threshold, dry-run, audit event per reap — never a heuristic sweep, which would reintroduce the P-WORKFLOW-001 auto-sync failure in a more destructive form. Board restructured into an explicit BOARD-ROLL zone and rolled with the framework's own board-roll.sh (8432B -> 8014B, D-1 archived to BOARD-LEDGER.md) rather than hand-trimmed. The tool exists precisely to stop coordinators hand-trimming; using it is the dogfood. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
910b6f4166 |
docs(remediation): status — decisions ruled, RM-01 in flight
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
1324385bba |
docs(remediation): apply Mos rulings on D-1/D-2/D-3; bank D-7 tmpfs ENOSPC
D-1 RULED — corrected wire-in target is a new production Node TaskExecutor on the LIVE dispatch path (packages/mosaic launch + packages/coord) that Coord/Forge/live dispatch submit through. The Python rail is deleted, not ported. RM-21/26/27/52 updated. D-2 — Jason-pending and explicitly NON-blocking. Binding meanwhile: the DB spine must not be a single-point hard-stop; degraded mode + rollback artifact become design requirements on RM-12/13/23/36/53. This reverses the earlier recommendation to pre-commit 'no DB means the fleet stops'. D-3 — RM-03 HOLD; PR #1023 marked SUPERSEDED-PENDING-JASON; RM-02/RM-55 proceed independently since conformance assertion is not the gate-6 fix itself. RM-03 now carries BOTH queue-guard defects: wrong exit on unknown, and evaluating branch=main rather than the branch being pushed. D-7 — shared 30G /tmp hit 100% ENOSPC, degrading two seats. ~5.2G of it is session scratch dead for 8-9 days; this session's own footprint is 88K. Same missing capability as P-FLEET-001 stale-session GC, applied to disk. Folded into RM-50, and RM-01 gains artifacts-off-shared-tmp acceptance criteria. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
d4f68040ab |
docs(remediation): board — PRs #1025/#1026 open, review dispatched, D-6 queue-guard finding
Third independent live instance of the inert-gate class this session: the mandated ci-queue-wait.sh returned exit 0 on state=unknown while guarding a push. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
ba98f88891 |
docs(remediation): reconciled execution backlog from two independent decompositions
TASK-1 complete. planner-opus (robustness, 38 tasks/8 dissents) and planner-sol (pragmatic, 25 tasks/10 defers/7 dissents) each decomposed the 4-build plan without seeing the other's work. Both decomps are committed alongside the reconciliation so the disagreements stay auditable rather than being flattened into a consensus. Reconciled into 58 tasks across P0-P5 (docs/remediation/TASKS.md): - 7 independent convergences, treated as settled because neither planner could see the other. The headline: BOTH reject the charter's wire-in point (mosaic_orchestrator.py::run_single_task) because that controller is disabled and references a dispatcher absent from this checkout — wiring it would produce a stranded executor, the same built-but-unwired disease one layer up. - 7 genuine disagreements ADJUDICATED, not averaged. The cost estimates are ~18x apart; rather than split the difference, the plan adopts sol's scope with opus's rigor and treats the first-dogfood gate as a hard budget checkpoint. - 3 decisions escalated (wire-in point, rollback artifact + availability trade, queue-guard ownership vs parked PR #1023). No task blocked on them is dispatched. Keystone dogfood case recorded (TASKS.md 1a): merged PR #868 shipped a file failing pnpm format:check, then an unrelated PR reformatted it as a side effect, so main went green and the gate's failure to fire left no trace. Detection must therefore be per-merge-commit against that commit's own tree. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
4fcbf7c07e |
docs(remediation): board reflects actual state + 4 dogfood findings from startup
Corrects the premature "DISPATCHED" planner line (per Mos): both planners are now dispatched for real on GUARANTEED-clean context, not requested-clean. Records Mos rulings: mission.json is retired-rail residue (do not invest); gate-16 holds on interim mos-dt-0 since rev-974 reviews; remote-control path is Mos-relay. Captures 4 live failure classes observed while standing this seat up (D-1..D-4), including an agent that silently ignored an in-message context reset — direct evidence for the postmortem thesis that instructions are not enforcement. Co-Authored-By: Claude Opus 5 (1M context) <[email protected]> |
||
|
|
28f1e272fe |
docs(remediation): mission charter + kickstart + live board for the postmortem remediation
15/15 proposals decided (13 accept, 2 modify). Collapses to 4 builds + hygiene on one PG spine + choke-point service. Durable mission record for the mos-remediation project orchestrator; compaction-survival resume in KICKSTART.md. Co-Authored-By: Claude Opus 4.8 <[email protected]> Claude-Session: https://claude.ai/code/session_018XCrpMFmCAXbtSQtQAhDth |