@nurix/etna 0.20.8 → 0.20.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  {
2
- "fingerprint": "bcf04d8d525c",
2
+ "fingerprint": "7d1e7785bd0c",
3
3
  "harnesses": {
4
4
  "code": {
5
5
  "plugin": "code",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "harness": "code",
3
3
  "name": "code",
4
- "version": "3.14.6",
4
+ "version": "3.14.7",
5
5
  "files": [
6
6
  ".prettierignore",
7
7
  ".prettierrc.json",
@@ -25,5 +25,5 @@
25
25
  }
26
26
  ],
27
27
  "docsRoot": "docs",
28
- "digest": "ec29198342ff"
28
+ "digest": "80ccc743454e"
29
29
  }
@@ -118,3 +118,30 @@ Measured on live sessions; each is the rule, distilled.
118
118
  - **When a ledger entry's `Why` contains "already", verify it before the manifest.** A commitment
119
119
  that declines to build something because it already exists rests on a fact, not a judgment, and
120
120
  the stop gate is the last place that fact is checkable — after the folder moves it is not.
121
+ - **Verify a doctrine claim against disk before building an argument on it.** Truth docs outrun
122
+ package rebuilds: a guardrail can assert a guard path that exists nowhere, inside a suppression
123
+ wrapper naming packages already deleted. When a session's centre is a recorded prohibition, `ls`
124
+ the guard path, read the owning package's config, and confirm the package is still in the tree.
125
+ - **Read the decision records before framing a session around a pillar contradiction.** An AD
126
+ accepted last week can already contradict the pillars; a session convened to *decide* a reversal
127
+ may be *ratifying* one that shipped — a materially different conversation.
128
+ - **Give the opening map at least one aspect organised by seam.** A map organised by system layer
129
+ owns none of the questions that land on the boundary between two planes or two phases, which is
130
+ where the real design questions sit.
131
+ - **Ledger only the user's half of a re-derivation turn.** When the user states a segregation and
132
+ the facilitator re-derives a whole architecture from it in the same entry, only the first half is
133
+ ledgerable; a re-derivation that re-reads an existing commitment into a new shape is a fork with a
134
+ named amendment, never an edit.
135
+ - **Check the ledger prefix against the product's vocabulary.** `D#` reads two ways in a product
136
+ whose state lives in a database called D1; add a disambiguation line to the ledger header and
137
+ write the colliding term in full inside entries.
138
+ - **The repo's rule files are a first-class blindspot source.** They carry platform facts a design
139
+ can contradict unnoticed — a registry answering `404`, not `401`, to a restricted read turned a
140
+ celebrated "containers hold no credentials" property into an open question. Read the rules that
141
+ touch the session's substrate against the new commitments, not only the basis.
142
+ - **Absence in this repo is not absence.** Evidence for a premise often lives in a sibling
143
+ repository; grep finding nothing proves only that this repo does not own the fact. Check the
144
+ owning repo before filing a fork as unevidenced, and when the fact is confirmed there, the
145
+ harvested record cites the external doc rather than restating it. A doc saying "this surface
146
+ reports, it does not enforce" does not contradict "the platform enforces" — different layers,
147
+ both true, neither edited.
@@ -118,3 +118,31 @@ Measured on live harvests; each is the rule, distilled.
118
118
  and nothing else** — a claim stated in nine places and fixed in three leaves the doc worse; a
119
119
  one-paragraph note saying what moved and what did not keeps the amendment legible to the doc's
120
120
  author.
121
+ - **A suppression marker is a dated assertion about code, and it decays faster than the docs
122
+ around it.** A harvest that deletes doctrine rows corrects their wrappers first — a false wrapper
123
+ is a correction row in the manifest, never collateral of a delete. A phantom guard propagates by
124
+ citation: grep the guard *path*, not its name, and count live docs separately from frozen ones,
125
+ which record what was believed and are not edited.
126
+ - **Retiring a guardrail row edits three artifacts.** The row is cited by ID from feature docs and
127
+ frozen plans, wrapped in a marker asserting where its code lives, and restated in the
128
+ out-of-scope register at the foot of the same file: keep the ID and mark the row retired with a
129
+ pointer, correct the wrapper, and replace the register bullet with a pointer — otherwise the file
130
+ contradicts itself twenty lines apart.
131
+ - **Size the decision records to the repo's AD doctrine before writing them.** One decision per
132
+ subject argued feels natural and produces micro-ADs where the rule is one overarching AD per
133
+ architectural subject; the test at manifest time is whether a reader would ever need one record
134
+ without the others. The safe shape is one AD per plane with a section per settled subject — each
135
+ keeping its Decision, Why and Declined table — and a separate AD only for a genuinely different
136
+ subject. Link with section anchors where a bare pointer loses precision, and verify anchors by
137
+ hand: the link checker strips them before resolving.
138
+ - **At manifest time, read every existing AD's Decision and Open Questions against the new
139
+ commitments.** A harvest routes only through the docs its commitments name, and grep finds
140
+ nothing because the ledger never names the others; report the unimpacted verdicts with their
141
+ evidence too.
142
+ - **A manifest row names one site; the file you open holds more.** Fix the same-doctrine sites
143
+ inside a file the manifest already opens, but never wander into an unnamed file — that becomes a
144
+ backlog row, because a canonical doc is not rewritten outside an approved scope. Say which you did,
145
+ per row, in the application record.
146
+ - **The per-file lint hook reads intermediate states.** It appends queue rows from mid-edit files;
147
+ run the linter over the whole edited set before declaring the apply done, and leave the stale
148
+ rows for the facilitator rather than draining them.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "harness": "delivery",
3
3
  "name": "delivery",
4
- "version": "0.2.27",
4
+ "version": "0.2.28",
5
5
  "files": [
6
6
  ".prettierignore",
7
7
  ".prettierrc.json",
@@ -10,5 +10,5 @@
10
10
  "seeds": [],
11
11
  "tools": [],
12
12
  "docsRoot": "docs",
13
- "digest": "b36abb3f2f60"
13
+ "digest": "432c8344e384"
14
14
  }
@@ -118,3 +118,30 @@ Measured on live sessions; each is the rule, distilled.
118
118
  - **When a ledger entry's `Why` contains "already", verify it before the manifest.** A commitment
119
119
  that declines to build something because it already exists rests on a fact, not a judgment, and
120
120
  the stop gate is the last place that fact is checkable — after the folder moves it is not.
121
+ - **Verify a doctrine claim against disk before building an argument on it.** Truth docs outrun
122
+ package rebuilds: a guardrail can assert a guard path that exists nowhere, inside a suppression
123
+ wrapper naming packages already deleted. When a session's centre is a recorded prohibition, `ls`
124
+ the guard path, read the owning package's config, and confirm the package is still in the tree.
125
+ - **Read the decision records before framing a session around a pillar contradiction.** An AD
126
+ accepted last week can already contradict the pillars; a session convened to *decide* a reversal
127
+ may be *ratifying* one that shipped — a materially different conversation.
128
+ - **Give the opening map at least one aspect organised by seam.** A map organised by system layer
129
+ owns none of the questions that land on the boundary between two planes or two phases, which is
130
+ where the real design questions sit.
131
+ - **Ledger only the user's half of a re-derivation turn.** When the user states a segregation and
132
+ the facilitator re-derives a whole architecture from it in the same entry, only the first half is
133
+ ledgerable; a re-derivation that re-reads an existing commitment into a new shape is a fork with a
134
+ named amendment, never an edit.
135
+ - **Check the ledger prefix against the product's vocabulary.** `D#` reads two ways in a product
136
+ whose state lives in a database called D1; add a disambiguation line to the ledger header and
137
+ write the colliding term in full inside entries.
138
+ - **The repo's rule files are a first-class blindspot source.** They carry platform facts a design
139
+ can contradict unnoticed — a registry answering `404`, not `401`, to a restricted read turned a
140
+ celebrated "containers hold no credentials" property into an open question. Read the rules that
141
+ touch the session's substrate against the new commitments, not only the basis.
142
+ - **Absence in this repo is not absence.** Evidence for a premise often lives in a sibling
143
+ repository; grep finding nothing proves only that this repo does not own the fact. Check the
144
+ owning repo before filing a fork as unevidenced, and when the fact is confirmed there, the
145
+ harvested record cites the external doc rather than restating it. A doc saying "this surface
146
+ reports, it does not enforce" does not contradict "the platform enforces" — different layers,
147
+ both true, neither edited.
@@ -118,3 +118,31 @@ Measured on live harvests; each is the rule, distilled.
118
118
  and nothing else** — a claim stated in nine places and fixed in three leaves the doc worse; a
119
119
  one-paragraph note saying what moved and what did not keeps the amendment legible to the doc's
120
120
  author.
121
+ - **A suppression marker is a dated assertion about code, and it decays faster than the docs
122
+ around it.** A harvest that deletes doctrine rows corrects their wrappers first — a false wrapper
123
+ is a correction row in the manifest, never collateral of a delete. A phantom guard propagates by
124
+ citation: grep the guard *path*, not its name, and count live docs separately from frozen ones,
125
+ which record what was believed and are not edited.
126
+ - **Retiring a guardrail row edits three artifacts.** The row is cited by ID from feature docs and
127
+ frozen plans, wrapped in a marker asserting where its code lives, and restated in the
128
+ out-of-scope register at the foot of the same file: keep the ID and mark the row retired with a
129
+ pointer, correct the wrapper, and replace the register bullet with a pointer — otherwise the file
130
+ contradicts itself twenty lines apart.
131
+ - **Size the decision records to the repo's AD doctrine before writing them.** One decision per
132
+ subject argued feels natural and produces micro-ADs where the rule is one overarching AD per
133
+ architectural subject; the test at manifest time is whether a reader would ever need one record
134
+ without the others. The safe shape is one AD per plane with a section per settled subject — each
135
+ keeping its Decision, Why and Declined table — and a separate AD only for a genuinely different
136
+ subject. Link with section anchors where a bare pointer loses precision, and verify anchors by
137
+ hand: the link checker strips them before resolving.
138
+ - **At manifest time, read every existing AD's Decision and Open Questions against the new
139
+ commitments.** A harvest routes only through the docs its commitments name, and grep finds
140
+ nothing because the ledger never names the others; report the unimpacted verdicts with their
141
+ evidence too.
142
+ - **A manifest row names one site; the file you open holds more.** Fix the same-doctrine sites
143
+ inside a file the manifest already opens, but never wander into an unnamed file — that becomes a
144
+ backlog row, because a canonical doc is not rewritten outside an approved scope. Say which you did,
145
+ per row, in the application record.
146
+ - **The per-file lint hook reads intermediate states.** It appends queue rows from mid-edit files;
147
+ run the linter over the whole edited set before declaring the apply done, and leave the stale
148
+ rows for the facilitator rather than draining them.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "harness": "etna",
3
3
  "name": "etna",
4
- "version": "1.5.16",
4
+ "version": "1.5.17",
5
5
  "files": [
6
6
  ".prettierignore",
7
7
  ".prettierrc.json",
@@ -10,5 +10,5 @@
10
10
  "seeds": [],
11
11
  "tools": [],
12
12
  "docsRoot": "docs",
13
- "digest": "f836486a6ca4"
13
+ "digest": "24530584ce9d"
14
14
  }
@@ -118,3 +118,30 @@ Measured on live sessions; each is the rule, distilled.
118
118
  - **When a ledger entry's `Why` contains "already", verify it before the manifest.** A commitment
119
119
  that declines to build something because it already exists rests on a fact, not a judgment, and
120
120
  the stop gate is the last place that fact is checkable — after the folder moves it is not.
121
+ - **Verify a doctrine claim against disk before building an argument on it.** Truth docs outrun
122
+ package rebuilds: a guardrail can assert a guard path that exists nowhere, inside a suppression
123
+ wrapper naming packages already deleted. When a session's centre is a recorded prohibition, `ls`
124
+ the guard path, read the owning package's config, and confirm the package is still in the tree.
125
+ - **Read the decision records before framing a session around a pillar contradiction.** An AD
126
+ accepted last week can already contradict the pillars; a session convened to *decide* a reversal
127
+ may be *ratifying* one that shipped — a materially different conversation.
128
+ - **Give the opening map at least one aspect organised by seam.** A map organised by system layer
129
+ owns none of the questions that land on the boundary between two planes or two phases, which is
130
+ where the real design questions sit.
131
+ - **Ledger only the user's half of a re-derivation turn.** When the user states a segregation and
132
+ the facilitator re-derives a whole architecture from it in the same entry, only the first half is
133
+ ledgerable; a re-derivation that re-reads an existing commitment into a new shape is a fork with a
134
+ named amendment, never an edit.
135
+ - **Check the ledger prefix against the product's vocabulary.** `D#` reads two ways in a product
136
+ whose state lives in a database called D1; add a disambiguation line to the ledger header and
137
+ write the colliding term in full inside entries.
138
+ - **The repo's rule files are a first-class blindspot source.** They carry platform facts a design
139
+ can contradict unnoticed — a registry answering `404`, not `401`, to a restricted read turned a
140
+ celebrated "containers hold no credentials" property into an open question. Read the rules that
141
+ touch the session's substrate against the new commitments, not only the basis.
142
+ - **Absence in this repo is not absence.** Evidence for a premise often lives in a sibling
143
+ repository; grep finding nothing proves only that this repo does not own the fact. Check the
144
+ owning repo before filing a fork as unevidenced, and when the fact is confirmed there, the
145
+ harvested record cites the external doc rather than restating it. A doc saying "this surface
146
+ reports, it does not enforce" does not contradict "the platform enforces" — different layers,
147
+ both true, neither edited.
@@ -118,3 +118,31 @@ Measured on live harvests; each is the rule, distilled.
118
118
  and nothing else** — a claim stated in nine places and fixed in three leaves the doc worse; a
119
119
  one-paragraph note saying what moved and what did not keeps the amendment legible to the doc's
120
120
  author.
121
+ - **A suppression marker is a dated assertion about code, and it decays faster than the docs
122
+ around it.** A harvest that deletes doctrine rows corrects their wrappers first — a false wrapper
123
+ is a correction row in the manifest, never collateral of a delete. A phantom guard propagates by
124
+ citation: grep the guard *path*, not its name, and count live docs separately from frozen ones,
125
+ which record what was believed and are not edited.
126
+ - **Retiring a guardrail row edits three artifacts.** The row is cited by ID from feature docs and
127
+ frozen plans, wrapped in a marker asserting where its code lives, and restated in the
128
+ out-of-scope register at the foot of the same file: keep the ID and mark the row retired with a
129
+ pointer, correct the wrapper, and replace the register bullet with a pointer — otherwise the file
130
+ contradicts itself twenty lines apart.
131
+ - **Size the decision records to the repo's AD doctrine before writing them.** One decision per
132
+ subject argued feels natural and produces micro-ADs where the rule is one overarching AD per
133
+ architectural subject; the test at manifest time is whether a reader would ever need one record
134
+ without the others. The safe shape is one AD per plane with a section per settled subject — each
135
+ keeping its Decision, Why and Declined table — and a separate AD only for a genuinely different
136
+ subject. Link with section anchors where a bare pointer loses precision, and verify anchors by
137
+ hand: the link checker strips them before resolving.
138
+ - **At manifest time, read every existing AD's Decision and Open Questions against the new
139
+ commitments.** A harvest routes only through the docs its commitments name, and grep finds
140
+ nothing because the ledger never names the others; report the unimpacted verdicts with their
141
+ evidence too.
142
+ - **A manifest row names one site; the file you open holds more.** Fix the same-doctrine sites
143
+ inside a file the manifest already opens, but never wander into an unnamed file — that becomes a
144
+ backlog row, because a canonical doc is not rewritten outside an approved scope. Say which you did,
145
+ per row, in the application record.
146
+ - **The per-file lint hook reads intermediate states.** It appends queue rows from mid-edit files;
147
+ run the linter over the whole edited set before declaring the apply done, and leave the stale
148
+ rows for the facilitator rather than draining them.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nurix/etna",
3
- "version": "0.20.8",
3
+ "version": "0.20.9",
4
4
  "description": "Bootstrap a project with a Nurix harness — copies the harness's CLAUDE.md, skills, agents, rules, and hooks directly into the project from a bundled payload (no marketplace fetch, no network).",
5
5
  "type": "module",
6
6
  "bin": {
@@ -42,5 +42,5 @@
42
42
  "agent",
43
43
  "plugin"
44
44
  ],
45
- "etnaFingerprint": "bcf04d8d525c"
45
+ "etnaFingerprint": "7d1e7785bd0c"
46
46
  }