Skip to content

Fix guest reboot observation and preserve failed native evidence - #27

Merged
seathatflowsinourveins merged 3 commits into
mainfrom
codex/service-observer-20260920
Sep 20, 2026
Merged

seathatflowsinourveins merged 3 commits into
mainfrom
codex/service-observer-20260920

Conversation

@seathatflowsinourveins

Copy link
Copy Markdown
Collaborator

The second hosted recovery trial completed the scheduled Dagu retry after reboot, but its observer failed to write the required serial completion. The journal shows serial-getty opening the shared ttyS0 after the observer; upstream systemd config enables terminal hangup there.

Give the observer a dedicated second QEMU serial port (ttyS1), retain the boot console separately, and preserve the original pre-login observation requirement. Exclude Dagu's generated authentication directory from both archive paths. Retain the failed attempt as explicitly sanitized projections with original artifact and stream hashes; it remains failed despite retrospective workload success.

Validation: 23 local tests (22 passed, one skipped because local QEMU is unavailable), native systemd unit verification, repository integrity validation, and independent patch review. Local checks are not native reboot acceptance. A fresh hosted trial will test the corrected observation channel; unchanged upstream Dagu tests remain a separate prerequisite. No current workstation services or client settings changed.

@seathatflowsinourveins
seathatflowsinourveins merged commit 9767e9c into main Sep 20, 2026
6 checks passed
@seathatflowsinourveins
seathatflowsinourveins deleted the codex/service-observer-20260920 branch September 25, 2026 18:47
seathatflowsinourveins added a commit that referenced this pull request Oct 15, 2026
…ing cost (#27)

The decision said the four unused synced plugins cost nothing measurable.
/skill-doctor at 2.1.300 (headless, 0 turns, $0; 2026-10-15T04:55:55Z)
lists their 66 skills in the system prompt of every turn: about 8,450
tokens (bigdata-com 6,360, lseg 1,230, daloopa 620,
cowork-plugin-management 240), about half of the 16,490 listing tokens of
all loaded skills.

- evidence/artifacts/claudeai-synced-plugins-20261015/listing_cost.py and
  listing-cost.json: the measurement, per source.
- The decision's rationale states the cost and names the per-plugin
  "<name>@synced": false route; the exception itself stands until the
  owner rules again with this number.
- New test asserts the stated figure equals the measured sum and the old
  claim is gone; it failed before this commit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
seathatflowsinourveins added a commit that referenced this pull request Oct 15, 2026
…eep decision (#27)

On the owner's direction of 2026-10-15 (01:05 ET, paraphrased by the
command center: resolve the synced plugins cleanly with current practice),
after the listing-cost measurement in this PR, the command center disabled
bigdata-com, lseg, daloopa and cowork-plugin-management with the native CLI
(`claude plugin disable <id> --scope user`), which writes
"<name>@synced": false into enabledPlugins in user settings (read back
2026-10-15T05:17Z; claude plugin list shows them disabled).

- The decision's status records the supersession, the inverse
  (`claude plugin enable <id> --scope user`) and why the sync itself stays
  on: a plugin the account adds later still arrives and meets the trigger.
- The syncClaudeAiPlugins disposition row becomes default-on: the key stays
  unset on purpose and each synced plugin is disabled per plugin.
- The test pins the new row and the dated supersession; it failed before
  this commit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant