Skip to content

Commit 5db6a99

Browse files
committed
Record the per-peer policy handoff
1 parent f5a88b7 commit 5db6a99

1 file changed

Lines changed: 40 additions & 9 deletions

File tree

now.md

Lines changed: 40 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,46 @@ The living handoff for whoever owns fabric next (there was none before; keep thi
44
current). This records what is DONE, what is IN FLIGHT, and what is NEXT — the
55
things the repo history alone does not carry.
66

7-
_Last updated: 2026-09-05 by Silber.fabric-codex. Silber and hetz run
8-
`0.2.2+a2f8a73`, measured by Silber.cos on 2026-09-05. Bluey is away. Nathan
9-
last saw Bluey on `0.2.1+48208e4` at about 22:30 on 2026-09-04. Treat that as
10-
last-known, not current. Ask Silber.cos before each release or deployment._
11-
12-
For extraction steps 6 and 8, merge on green without asking for a separate
13-
Silber.cos approval. Silber.cos holds the step 7 activation gate and every
14-
release or deployment gate. Before any deployment, prove matched-pair rollback
15-
on hetz. macOS needs a detached update supervisor; the current change adds it.
7+
_Last updated: 2026-09-05 by Silber.fabric-codex. Main is `f5a88b7`._
8+
9+
## Latest handoff — 2026-09-05
10+
11+
PR #185 merged at `f5a88b7`. It removes the machine-wide shell and exec policy
12+
gates. Each peer `allow` array is now the complete service policy. Old command
13+
flags remain hidden parse-only compatibility inputs. Generated launchd and
14+
systemd definitions no longer contain those flags.
15+
16+
The legacy migration uses an intersection. A true old key preserves only the
17+
matching grants already present in peer arrays. A false or missing old key
18+
removes the matching grants. Fabric reports each removed grant and whether the
19+
old key was false or absent. An unknown format or failed migration write makes
20+
a reload fail closed.
21+
22+
Format 2 writes generated `allow_shell` and `allow_exec` rollback mirrors. The
23+
new reader ignores them as policy. A restored 0.2.5 binary reads them and gets
24+
the same effective policy that existed before migration. Remove these mirrors
25+
in 0.2.7 only when the actual rollback binary understands format 2. A release
26+
number alone does not prove that condition because a machine can skip a
27+
release.
28+
29+
Silber and Hetz received the approved format 2 config markers before PR #185
30+
merged. Their peer arrays did not change. Each host passed `fabric doctor`.
31+
Real exec worked from Silber to Hetz and from Hetz to Silber. The installed
32+
0.2.5 binary performed a no-op peer write on each host, and the full file stayed
33+
byte-identical. The marker and rollback warning survived both writes.
34+
35+
All PR #185 merge-result checks passed. The local proof was 533 active library
36+
tests, 31 local-slice tests, 14 shell tests, and 12 provisioning tests. Five
37+
library measurements stayed ignored. `cargo check --all-targets` also passed.
38+
39+
No release or deployment followed the merge. A release or deployment requires
40+
a fresh exact gate from Silber.cos. At this handoff, Silber and Hetz both run
41+
`0.2.5+4dc0cac`. Silber.cos re-read them with `fabric --version` on Silber and
42+
`fabric exec hetz -- fabric --version` for Hetz. Re-run those commands before
43+
using the recorded value because an update makes it stale immediately.
44+
45+
No code job remains live from this work. Do not infer a release task from the
46+
merged change or from this note. Wait for a native request.
1647

1748
## Current main — 2026-09-05
1849

0 commit comments

Comments
 (0)