Skip to content

Commit a19ab08

Browse files
committed
Close the last two steps that reached outside the base factory
The sweep that made every option runnable on the base factory alone worked from the set of pages that shared one defect, and two steps sat outside it. Both still named agents and formulas a participant on the base factory cannot resolve. The self-improvement loop's gate step slung project-manager, which only the bead gate option's pack ships. The gate that always applies is a named person, so the step now leads with branch protection, which every participant already has, and treats the bead gate as an addition: it is gated behind installing that option and addressed by its own pack. The formula check on the bead-creation option counted mol-bead-review, which is also bead-gate-only, so the grep and the row count it promises drop it and expect three. City: city · Agent: local-core.builder-1
1 parent 2a10923 commit a19ab08

2 files changed

Lines changed: 8 additions & 6 deletions

File tree

hardening/01-bead-creation-formula-extensions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,13 +174,13 @@ gc restart
174174

175175
Confirm the three formulas loaded.
176176

177-
Four rows should be listed.
177+
Three rows should be listed.
178178

179179
**Copy and paste**
180180

181181
```bash
182182
gc formula list \
183-
| grep -E "mol-(design|test|doc)-spec|mol-bead-review"
183+
| grep -E "mol-(design|test|doc)-spec"
184184
```
185185

186186
**Expected output**

hardening/05-self-improvement-loop.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -102,22 +102,24 @@ Risk: <what this makes worse>." \
102102
--type task --priority 3
103103
```
104104

105-
**What to notice.** Writing the proposal as a bead is not bookkeeping. It puts the proposal into the same system every other piece of work goes through, which means the gate you built in [the bead gate option](./06-bead-gate-checks.md) will now judge it. A proposal that cannot survive your own front gate is not ready to change your factory.
105+
**What to notice.** Writing the proposal as a bead is not bookkeeping. It puts the proposal into the same system every other piece of work goes through, so whatever gate stands in front of your beads now judges it too. A proposal that cannot survive your own front gate is not ready to change your factory.
106106

107107
### 4. Put a gate in front of the proposal
108108

109109
This is the step that makes the loop safe, and it is the one people skip.
110110

111+
The gate that always applies is a named person. A config change gets one whatever else you have installed, and the mechanism you already have for that is branch protection from [the branch-protection appendix](../appendix/03-branch-protection.md): your factory's configuration lives in files, those files live in a repo, and a change to them is a pull request somebody approves.
112+
113+
If you also installed the [bead gate](./06-bead-gate-checks.md) option, run the proposal through its project-manager first and the bead has to clear your own front gate before it reaches that person:
114+
111115
**Copy and paste**
112116

113117
```bash
114118
cd "$FACTORY_PATH"
115-
gc sling project-manager <the-proposal-bead-id>
119+
gc sling ascii-art/bead-gate-rig.project-manager <the-proposal-bead-id> --on mol-bead-review
116120
bd show <the-proposal-bead-id> --json | jq -r '.[0] | .status, (.metadata.bead_review_feedback // "passed")'
117121
```
118122

119-
Then add the human. Whatever the verdict, a config change gets a named person, and the mechanism you already have for that is branch protection from [the branch-protection appendix](../appendix/03-branch-protection.md): your factory's configuration lives in files, those files live in a repo, and a change to them is a pull request somebody approves.
120-
121123
Say the rule out loud and write it into your capability map:
122124

123125
> A proposal my factory generates may become a pull request automatically. It may not become a merge automatically.

0 commit comments

Comments
 (0)