Skip to content

board-tend units hardening before any apply rule is enabled (#5205 review F1-F9) #5206

Closed

Description

@EHotwagner

Parent Outcome: #4730
Work level: Delivery · Track: Follow-up · Intended Status: Done

Owner

Root/fdev owns installation and acceptance; gate_5228 owns source repair; learn_5249 independently reviews.

Done when

The non-blocking findings from the review of #5205 are fixed, each with a test, before any gated rule is enabled for apply:

  • F1: the post-merge marker is claimed by rename, so a concurrent trigger is never deleted unseen.
  • F2/F5: the wrapper checks the kit root at run time (the sha256 of both mirrors, and not a git checkout) and compares the engine's real version with the coord-<v> directory.
  • F3: --workdir is required.
  • F4/F6: XDG_CONFIG_HOME and XDG_STATE_HOME agree between the unit, the installer and the gate; pin them explicitly.
  • F8: a pre-existing wrong-mode state directory is reported loudly in the journal, or repaired.
  • F9: summarize tolerates a malformed plan.
  • F10: verify the daily units in the test.

Additional acceptance from the actual first activation: correct the provider option scalar contract; retain response evidence; preserve and narrowly settle original invalid requests without blind replay; deploy a qualified corrected coherent engine and prove permanent automatic operation.

Current deliverable

Accepted permanent operation on released coherent0.114.4: first fresh apply wrote3 fields with0 uncertain; automatic post-merge invocation19:59:18–19:59:53UTC passed, then the genuine hourly timer invocation20:08:10–20:08:44UTC passed on390visible cards with17requests/17points,33.9seconds and0uncertain. Effective units remain apply-mode for W1h,T1f,S1,S3,S3b,S9; timers enabled/Persistent with linger. Actual systemd timer/service/journal evidence corroborates the hourly trigger.

Next action

This Delivery is accepted. Continue broader parent#5136 assertions and separate archive#5170 schedule proof; unqualified rules remain disabled. Root retains a curated Atlas capture gap for reusable release/recovery/activation findings; bulky/private runtime evidence remains outside Atlas.

Blocked on

Nothing in this Delivery's declared hardening, corrected publication/adoption, narrow original recovery or permanent-operation acceptance. This closure does not accept the full parent Outcome or claim lower cost/tokens/faster delivery.

Acceptance evidence

Source PR#5258 c914942 and exact-head checks passed; original candidate41491677490 and preflight41493838741 passed. Canonical forward41504251592 completed all16 effects and promoted coherent-set/v0.114.4. Registry PR#5260 merged07229d66; original merged-main feed41509055725 passed. All82 installed runtime files match the authenticated candidate; both installed contract mirrors match released Drivers. Three original invalid requests were narrowly settled through the maintained controller with immutable originals retained, no provider resend, and original response absence still Unknown. Root admission: #5206 (comment).

First corrected apply custody20261102T192950Z-399a13fe retains all three provider response records; independent Project3 readback agrees. Permanent units pin released0.114.4 and matching kit; hourly/daily timers enabled, Persistent=true, user linger=yes. Original failures and earlier reviews remain in prior comments/private evidence. No cost, token or speed savings are claimed.

Activity

  1. EHotwagner commented on Nov 2, 2026

    @EHotwagner
    ContributorAuthor

    Root admission: the user explicitly requests permanent automatic board reconciliation now (2026-11-02). Resume this existing Delivery for the installed-wrapper hardening, independent review, and qualification prerequisite to live activation under #5136. Owner gate_5228; Root owns installation, rule selection, first actual apply and readback. The user supersedes the elapsed seven-day observation wait; no weakening of guarded writes, uncertain-effect handling or rule correctness. Existing acceptance remains required.

  2. EHotwagner commented on Nov 2, 2026

    @EHotwagner
    ContributorAuthor

    Root/fdev deployment admission: exact candidate 0e4c7d5709699a47f113db33d7ee0c4542842c8c independently APPROVED by learn_5249; 52 offline tests pass including all four rendered systemd units and causal hardening controls. User explicitly authorized permanent operation. Root will install these exact reviewed wrapper/template bytes locally with the already-published0.114.3 engine and matching immutable kit, then enable only the independently approved six-rule set under #5136 and verify actual effects. This is a local deployment qualification: normal source PR, exact hosted CI, integration and Atlas capture remain owed; no source-merge claim.

  3. EHotwagner commented on Nov 2, 2026

    @EHotwagner
    ContributorAuthor

    Root/fdev actual activation failure extends this existing hardening Delivery: installed wrapper0e4c7d57 passed identity/unit checks. First actual 0.114.3 apply run20261102T151514Z-a8647ab2 produced three send-unconfirmed outcomes; independent native readback shows all three original In progress statuses unchanged. Original possible-send custody is retained, no replay/hand edit. Timer is temporarily stopped while repair proceeds (persistent enablement and six-rule config retained). Exact renderer at published5019a9d2 declares singleSelectOptionId option variables ID!, but GitHub schema requires String. Owner gate_5228 repairs renderer and meaningful schema-validation regression, retains bounded private response evidence, qualifies source and a supported exact installed-engine update; independent review and actual guarded readback required before acceptance. User permanent-operation request remains unfulfilled until resumed healthy apply; no completion or savings claim.

  4. EHotwagner commented on Nov 2, 2026

    @EHotwagner
    ContributorAuthor

    Root admission for the three original 2026-11-02 15:15 failed board writes: use only the maintained no-effect recovery controller from published coherent 0.114.4, source c914942. Publication is independently verified at generation 33/all 16 effects, and the installed runtime matches all 82 qualified package files. A live new-engine plan-only check passed: 398 cards, 17 requests, zero writes and zero uncertain outcomes.

    Admit append-only local recovery certificates for original identities 396b84b721a86b78ad914e641a493cfc (Coordination#1102), 9bc6bc779114aa16a6ade52380b4956f (.github#5195), and e9c7f5f10bae91ab3344881e606df4c9 (Game#788), only after the controller independently validates the pinned original/request/runtime hashes, fresh schema/identity/preimage, full reconstructed invalid scalar request and actual shared writer locks. Original files remain immutable. The historical provider response remains Unknown; the admission relies on validated request reconstruction and fresh schema, not invented wire evidence. No provider mutation or original request resend is authorized by this recovery.

    Published GitHub assembly SHA256 6b0490efe6e06b8b0a904cd10aabe5d2a843317b1d82a0c1c7cb4e1e400bbd3d; Core assembly 2c276cc84e1bc16cc47d4277dc9da4dcff9f98886f7388d7e38fbed3d73b8cfc. Each controller invocation is separately retained, at most 1 CPU/2 GiB with its 120-second child bound. Existing or partial evidence refuses replacement. Actual automatic writes remain disabled until registry completion and a fresh approved-rule plan/readback.

  5. EHotwagner commented on Nov 2, 2026

    @EHotwagner
    ContributorAuthor

    Root accepts the installed 0.114.4 qualification and all three original no-effect recoveries. All 82 runtime files match the published candidate; both pinned contract mirrors match f726281d. Each append-only certificate authenticates its complete evidence closure, preserves the original failed request, and records the historical response as Unknown. Actual new-engine plan-only checks passed on 398 cards with zero writes/uncertain outcomes. Registry PR #5260 is merged at 07229d6, and original merged-main feed run 41509055725 passed.

    Proceed with the already user-approved permanent six-rule configuration (W1h, T1f, S1, S3, S3b, S9), proposals disabled, maxItemsPerRun=100. The latest reviewed plan selects three S3 status changes; broader Outcome roll-up O1 and other unqualified rules remain disabled. Render persistent units in apply mode through the maintained installer, then execute one bounded fresh reconciliation under actual writer locks and independently read back every actual change. This is a fresh run of the corrected published engine, not a resend of any old request. Preserve response custody and revert service mode to plan-only if the run has an unresolved failure or uncertain outcome. This admission does not close the parent automation Outcome or establish archive/enrollment acceptance.

  6. EHotwagner commented on Nov 2, 2026

    @EHotwagner
    ContributorAuthor

    Root accepts #5206. Reviewed repair PR#5258 mergedc914942c; published coherent0.114.4, registry PR#5260/green main feed, exact82-file installed runtime and matching kit are accepted. Original three invalid requests are narrowly settled with immutable originals and historical response absence preserved, without replay. First corrected apply printed written=3 noop=0 refused=0 uncertain=0; provider response hashes and independent field readback agree.

    Permanent apply-mode operation is now demonstrated both automatically after merge and by the genuine hourly timer at20:08:10UTC: cards=390 apply=0 wouldApply=3 close=0 wouldClose=0 deferred=3 propose=32 refuse=5; written=0 noop=0 refused=0 uncertain=0; requests=17 graphqlPoints=17 rest=0; seconds=33.9. The three deferred changes belong to rules not enabled. Effective pins, enabled/Persistent timers and linger are verified. All declared wrapper hardening/test findings are included in the accepted reviewed source. Parent#5136 and archive#5170 retain their remaining whole promises. No savings claim.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions