dorfl 0.8.0 → 0.10.0

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.
Files changed (44) hide show
  1. package/dist/cli.d.ts.map +1 -1
  2. package/dist/cli.js +63 -25
  3. package/dist/cli.js.map +1 -1
  4. package/dist/config.d.ts +82 -7
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +14 -2
  7. package/dist/config.js.map +1 -1
  8. package/dist/do.d.ts +16 -1
  9. package/dist/do.d.ts.map +1 -1
  10. package/dist/do.js +14 -9
  11. package/dist/do.js.map +1 -1
  12. package/dist/env-config.d.ts.map +1 -1
  13. package/dist/env-config.js +25 -3
  14. package/dist/env-config.js.map +1 -1
  15. package/dist/intake-trigger-template.d.ts +91 -53
  16. package/dist/intake-trigger-template.d.ts.map +1 -1
  17. package/dist/intake-trigger-template.js +213 -114
  18. package/dist/intake-trigger-template.js.map +1 -1
  19. package/dist/intake.d.ts +53 -4
  20. package/dist/intake.d.ts.map +1 -1
  21. package/dist/intake.js +59 -15
  22. package/dist/intake.js.map +1 -1
  23. package/dist/placement.d.ts +42 -33
  24. package/dist/placement.d.ts.map +1 -1
  25. package/dist/placement.js +20 -17
  26. package/dist/placement.js.map +1 -1
  27. package/dist/repo-config.d.ts +1 -1
  28. package/dist/repo-config.d.ts.map +1 -1
  29. package/dist/repo-config.js +35 -0
  30. package/dist/repo-config.js.map +1 -1
  31. package/dist/tasking.d.ts +46 -1
  32. package/dist/tasking.d.ts.map +1 -1
  33. package/dist/tasking.js +48 -21
  34. package/dist/tasking.js.map +1 -1
  35. package/package.json +1 -1
  36. package/src/cli.ts +75 -28
  37. package/src/config.ts +96 -9
  38. package/src/do.ts +30 -10
  39. package/src/env-config.ts +25 -3
  40. package/src/intake-trigger-template.ts +263 -143
  41. package/src/intake.ts +136 -18
  42. package/src/placement.ts +42 -36
  43. package/src/repo-config.ts +35 -0
  44. package/src/tasking.ts +75 -43
@@ -6,9 +6,11 @@
6
6
  * STRUCTURALLY VALIDATES it, mirroring the snapshot-assertion style of
7
7
  * `advance-lifecycle-template.ts` / `advance-ci-template.ts` (the package depends on
8
8
  * NO YAML lib, so the checks are presence/shape assertions over the raw text). It
9
- * ALSO carries the PURE author-trust → per-outcome-flags DERIVATION
10
- * ({@link deriveIntakeFlags}) — CI's merge-vs-propose POLICY, the load-bearing
11
- * testable logic the workflow encodes at runtime.
9
+ * ALSO carries the PURE intake-flags DERIVATION ({@link deriveIntakeFlags}) —
10
+ * CI's merge-vs-propose POLICY, the load-bearing testable logic the workflow
11
+ * encodes at runtime. The DOCUMENT mode is the resolved `intakeIntegration`
12
+ * (operator/config); author-trust drives ONLY the `--origin-trust` stamp +
13
+ * placement, never the mode.
12
14
  *
13
15
  * SCOPE FENCE (spec Out-of-Scope): the issue→artifact TRANSFORM engine is
14
16
  * `issue-intake`'s (`intake <N>` + its four-outcome dispatch + the per-outcome
@@ -27,14 +29,23 @@
27
29
  * (re-)evaluation; an EDITED comment is NOT a trigger (the ID-based
28
30
  * `seen=<ids>` watermark suffices). The "post a NEW comment to signal an edit"
29
31
  * convention is documented in the workflow so a human knows to re-trigger.
30
- * - AUTHOR-TRUST → per-outcome FLAGS (Decision 1, {@link deriveIntakeFlags}): an
31
- * UNTRUSTED author (`author_association` not in OWNER/MEMBER/COLLABORATOR)
32
- * forces `--propose-task` REGARDLESS of the `autoBuild` gate, while
33
- * `--merge-spec` stays allowed (a human still tasks a spec before anything
34
- * autonomous acts — the checkpoint is intact). A TRUSTED author gets the plain
35
- * gate-derived mode for both. The fully-gateless "all gates on + merge
36
- * everywhere" path is a LOUD, NON-DEFAULT opt-in — the default is conservative
37
- * (propose / human-in-the-loop).
32
+ * - INTAKE-INTEGRATION → the file-emit MODE; AUTHOR-TRUST → PLACEMENT + the
33
+ * STAMP (ADR `untrusted-origin-carries-via-stamp-not-forced-staging`; spec
34
+ * `intake-integration-knob-and-specs-land-in-proposed-rename`; {@link
35
+ * deriveIntakeFlags}): the intake DOCUMENT mode (merge-vs-propose for a
36
+ * task/spec FILE) is the resolved `intakeIntegration ?? integration` — an
37
+ * operator/config choice, a SINGLE value applied to BOTH the task and the spec
38
+ * document, DECOUPLED from the autonomy gates. `autoBuild`/`autoTask` no
39
+ * longer feed the document mode (they mean ONLY "may an agent act
40
+ * autonomously"). Author-trust feeds exactly (1) the `--origin-trust` STAMP
41
+ * (`author_association` not in OWNER/MEMBER/COLLABORATOR ⇒ `untrusted`) and
42
+ * (2) — via that stamp, read by `intake`'s dispatch — which PLACEMENT default
43
+ * (`untrusted*LandIn` vs `*LandIn`) the emitted document lands in. Untrusted
44
+ * safety is the CARRIED stamp (it forces the BUILD transition to a code PR)
45
+ * plus the placement default, NOT a forced document PR. A document therefore
46
+ * merges to `main` regardless of who filed the issue OR whether the gates are
47
+ * on; whether it is reviewed-as-a-PR is purely the `intakeIntegration`
48
+ * operator config, not a trust or autonomy consequence.
38
49
  * - INSERTION POINT E (the issue-thread review surface): the review verdict over
39
50
  * intake's generated specs/tasks is surfaced into the ISSUE THREAD via the
40
51
  * `IssueProvider.postIssueComment` seam (issue thread, by NUMBER — NOT the PR
@@ -85,38 +96,49 @@ export const TRUSTED_AUTHOR_ASSOCIATIONS = [
85
96
  'COLLABORATOR',
86
97
  ];
87
98
  /**
88
- * DERIVE the per-outcome merge-vs-propose flags from the gate state COMPOSED with
89
- * author-trust — CI's merge-vs-propose POLICY (spec "merge-vs-propose POLICY" +
90
- * "Composed with AUTHOR-TRUST"; task Decision 1). This is the load-bearing pure
91
- * logic the workflow encodes at runtime (it reads `author_association` off the
92
- * event payload and sets the flags accordingly):
99
+ * DERIVE the per-outcome file-emit modes + the origin-trust stamp — CI's intake
100
+ * POLICY (ADR `untrusted-origin-carries-via-stamp-not-forced-staging`; spec
101
+ * `intake-integration-knob-and-specs-land-in-proposed-rename` US #1/#2). This is
102
+ * the load-bearing pure logic the workflow encodes at runtime (it reads the
103
+ * resolved `intakeIntegration ?? integration` via `dorfl config --json` for the
104
+ * MODE, and `author_association` off the event payload for the STAMP):
93
105
  *
94
- * - **SPEC** — gate-derived ONLY (author-trust does NOT bite): `--merge-spec` iff
95
- * `autoTask` is OFF (a human must task the spec before anything autonomous
96
- * acts on it — the human checkpoint stays AHEAD even for an untrusted author),
97
- * else `--propose-spec`.
98
- * - **TASK** — `--propose-task` iff (`autoBuild` ON) OR (author UNTRUSTED);
99
- * `--merge-task` ONLY iff (`autoBuild` OFF AND author TRUSTED). An untrusted
100
- * author can never auto-merge a task from a public-front-door issue.
106
+ * - **DOCUMENT mode (spec = task)** — the resolved `intakeIntegration` value, a
107
+ * SINGLE mode applied to BOTH the spec and task document: `merge` ⇒
108
+ * `--merge-spec` + `--merge-task`, `propose` ⇒ `--propose-spec` +
109
+ * `--propose-task`. DECOUPLED from the autonomy gates: `autoBuild`/`autoTask`
110
+ * no longer bite the document mode (they mean ONLY "may an agent act
111
+ * autonomously"). So a repo with `autoBuild: true`/`autoTask: true` +
112
+ * `intakeIntegration` (or `integration`) `merge` MERGES intake documents to
113
+ * `main` — previously impossible (the gates forced a document PR).
114
+ * - **ORIGIN-TRUST stamp** — the ONLY thing author-trust drives: `untrusted`
115
+ * iff the author is not trusted, else `trusted`. `intake`'s dispatch reads
116
+ * this stamp to select the untrusted-side PLACEMENT default and to force the
117
+ * later BUILD transition of an untrusted task to a code PR.
101
118
  *
102
- * So the only way to `--merge-task` is a TRUSTED author with `autoBuild` OFF —
103
- * and the fully-gateless "merge everything" path additionally needs `autoTask`
104
- * OFF; both gates off + a trusted author is the LOUD, NON-DEFAULT opt-in. The
105
- * conservative case (untrusted author, or any gate on) keeps a human in the loop.
119
+ * So author-trust changes ONLY (a) which folder the document lands in (via the
120
+ * stamp → `untrusted*LandIn`) and (b) the carried stamp — NEVER whether the
121
+ * DOCUMENT is a PR. Whether a document merges or is proposed is now purely the
122
+ * `intakeIntegration` operator config, independent of the gates AND of who filed
123
+ * the issue. The untrusted safety is the stamp (the build-time code PR) plus the
124
+ * placement default, not a forced document PR (the ADR's core move).
106
125
  */
107
126
  export function deriveIntakeFlags(options) {
108
- const { gate, authorTrusted } = options;
109
- // SPEC: gate-derived only — a human-tasks-it checkpoint stays ahead regardless
110
- // of author-trust, so an untrusted author may still --merge-spec.
111
- const spec = gate.autoTask ? 'propose' : 'merge';
112
- // TASK: propose if the agent will auto-build it (gate ON) OR the author is
113
- // untrusted; merge ONLY when both are safe (gate OFF AND author trusted).
114
- const task = gate.autoBuild || !authorTrusted ? 'propose' : 'merge';
115
- // ORIGIN-TRUST stamp (task `untrusted-origin-forces-build-propose`): the SAME
116
- // author-trust verdict, collapsed to the wire value `intake` stamps onto the
117
- // emitted artifact. Derived HERE — next to the integration flags, off the SAME
118
- // `authorTrusted` input — so the stamp and the task/spec modes cannot desync.
119
- // It is NOT a re-resolution of trust (CI already resolved it); it is the verdict
127
+ const { intakeIntegration, authorTrusted } = options;
128
+ // DOCUMENT mode: the resolved `intakeIntegration ?? integration` (operator/config),
129
+ // a SINGLE value applied to BOTH the spec and the task document. Decoupled from
130
+ // the autonomy gates (ADR untrusted-origin-carries-via-stamp-not-forced-staging;
131
+ // spec intake-integration-knob-and-specs-land-in-proposed-rename): autoBuild/
132
+ // autoTask no longer bite the mode, and author-trust never did. The two axes are
133
+ // kept only because intake's CLI takes --merge-spec/--merge-task separately.
134
+ const spec = intakeIntegration;
135
+ const task = intakeIntegration;
136
+ // ORIGIN-TRUST stamp — the SOLE thing author-trust drives on the wire (task
137
+ // `untrusted-origin-forces-build-propose`): the author-trust verdict collapsed
138
+ // to the value `intake` stamps onto the emitted artifact. `intake`'s dispatch
139
+ // reads it to (1) select the untrusted-side placement default (`untrusted*LandIn`)
140
+ // and (2) force the later BUILD transition of an untrusted task to a code PR. It
141
+ // is NOT a re-resolution of trust (CI already resolved it); it is the verdict
120
142
  // being CARRIED so it survives the spec/task merge boundary (the becomes-code
121
143
  // checkpoint is not laundered when the file lands on main).
122
144
  const originTrust = authorTrusted
@@ -147,9 +169,13 @@ export function isAuthorTrusted(authorAssociation) {
147
169
  * shape itself is config-independent.
148
170
  *
149
171
  * The per-outcome FLAGS are DERIVED AT RUNTIME by a `bash` step that mirrors
150
- * {@link deriveIntakeFlags}: it reads the gate env block + the event's
151
- * `author_association` and sets `--merge-spec`/`--propose-spec` +
152
- * `--merge-task`/`--propose-task` accordingly. The same rule that
172
+ * {@link deriveIntakeFlags}: it reads the resolved `intakeIntegration ??
173
+ * integration` via `dorfl config --json` to set the (config-derived) DOCUMENT
174
+ * mode `--merge-spec`/`--propose-spec` + `--merge-task`/`--propose-task` (a SINGLE
175
+ * mode applied to both), and the event's `author_association` to set ONLY the
176
+ * `--origin-trust` STAMP (which carries the placement + build-PR consequence). The
177
+ * autonomy gates (`autoBuild`/`autoTask`) are NOT read for the document mode (they
178
+ * mean only "may an agent act autonomously"). The same rule that
153
179
  * {@link deriveIntakeFlags} unit-tests is what the workflow executes — they cannot
154
180
  * desync because the test asserts the SHELL derivation matches the function.
155
181
  */
@@ -180,15 +206,22 @@ export function generateIntakeWorkflow(config) {
180
206
  # re-evaluation (a fresh id the watermark catches). There is NO edit-detection /
181
207
  # \`updated_at\` / body-hash tracking.
182
208
  #
183
- # AUTHOR-TRUST → per-outcome FLAGS (the merge-vs-propose POLICY): because ANYBODY
184
- # can file an issue, the merge decision composes with WHO authored it. An UNTRUSTED
185
- # author (\`author_association\` not OWNER/MEMBER/COLLABORATOR) forces
186
- # \`--propose-task\` REGARDLESS of the \`autoBuild\` gate — a task from a public
187
- # front-door issue can never auto-merge — while \`--merge-spec\` stays allowed (a
188
- # human must still task a spec before anything autonomous acts on it, so the human
189
- # checkpoint is intact). A TRUSTED author gets the plain gate-derived mode. The
190
- # fully-gateless "merge everything" path (both gates off + a trusted author) is a
191
- # LOUD, NON-DEFAULT opt-in; the default is conservative (propose).
209
+ # THE DOCUMENT MODE is \`intakeIntegration\`; AUTHOR-TRUST → PLACEMENT + the STAMP:
210
+ # the intake DOCUMENT merge-vs-propose mode is the resolved \`intakeIntegration ??
211
+ # integration\` (an operator/config choice, a SINGLE value applied to BOTH the task
212
+ # and spec document), DECOUPLED from the autonomy gates (spec
213
+ # intake-integration-knob-and-specs-land-in-proposed-rename; ADR
214
+ # untrusted-origin-carries-via-stamp-not-forced-staging). \`autoBuild\`/\`autoTask\`
215
+ # no longer decide the document mode (they mean only "may an agent act
216
+ # autonomously"). Because ANYBODY can file an issue, WHO authored it still matters —
217
+ # but author-trust drives only (1) the \`--origin-trust\` STAMP on the emitted
218
+ # document and (2), via that stamp read by \`intake\`'s dispatch, which PLACEMENT
219
+ # default the document lands in. So an untrusted author's task DOCUMENT MERGES to
220
+ # \`main\` just like a trusted one when \`intakeIntegration\` is \`merge\`; the
221
+ # untrusted safety is the CARRIED stamp (it forces the later BUILD to a code PR)
222
+ # plus the placement default, not a forced document PR. "Merge everything" is
223
+ # \`intakeIntegration: merge\` (or \`integration: merge\`), independent of the gates
224
+ # AND of who filed the issue — so a repo can have autonomy AND merged documents.
192
225
  #
193
226
  # CI runs IN-PLACE (the CI container IS the isolation): NO --isolated/--remote/
194
227
  # registry (laptop-only affordances). The PER-ISSUE concurrency group below
@@ -234,23 +267,25 @@ permissions:
234
267
  pull-requests: write
235
268
  issues: write
236
269
 
237
- env:
238
- # ── The engine GATE FAMILY, surfaced as the DORFL_* env block ─────────
239
- # CI is NOT a special policy surface (ADR ci-config-policy-and-gate-family §5):
240
- # it runs the SAME engine gates, resolved through flag > env > per-repo > global
241
- # > default. The SAME dorfl.json the laptop uses applies here; this env
242
- # block is the optional CI-only override. Change behaviour by editing these
243
- # values (or a GitHub repo variable / dorfl.json key) — NOT by re-running
244
- # install-ci (ADR §6: install-ci is one-time).
245
- #
246
- # \`intake\` itself is GATE-FREE (the explicit invocation is its own
247
- # authorization), so these gates do NOT block it — CI READS them to DERIVE the
248
- # per-outcome merge-vs-propose flags below (the merge-vs-propose POLICY). CALM
249
- # DEFAULTS: both off ⇒ the next step is a HUMAN, so the gate-derived mode is the
250
- # permissive merge side; author-trust then forces propose for a task from an
251
- # untrusted author.
252
- DORFL_AUTO_BUILD: 'false' # gate: will an agent auto-build the emitted task next?
253
- DORFL_AUTO_TASK: 'false' # gate: will an agent auto-task the emitted spec next?
270
+ # ── The intake DOCUMENT mode is resolved FROM CONFIG, not carried here ───────
271
+ # CI is NOT a special policy surface (ADR ci-config-policy-and-gate-family §5):
272
+ # it runs the SAME engine config, resolved through flag > env > per-repo > global
273
+ # > default. The SAME dorfl.json the laptop uses applies here. This workflow emits
274
+ # NO DORFL_AUTO_BUILD / DORFL_AUTO_TASK line (ADR
275
+ # untrusted-origin-carries-via-stamp-not-forced-staging: hardcoding them here made
276
+ # the env layer OUTRANK the committed dorfl.json — the shadowing bug). So the env
277
+ # layer carries NO config default; the policy step below READS the resolved intake
278
+ # DOCUMENT mode \`intakeIntegration ?? integration\` via \`dorfl config --json\` (the
279
+ # mechanism \`advance\` already uses), so your committed dorfl.json wins (then the
280
+ # global config, then the built-in default \`propose\`). To land intake documents on
281
+ # main, set \`intakeIntegration: merge\` (or \`integration: merge\`) in dorfl.json
282
+ # (applies everywhere) — NOT by re-running install-ci (ADR §6: install-ci is
283
+ # one-time). The autonomy gates \`autoBuild\`/\`autoTask\` are DECOUPLED from the
284
+ # document mode (spec intake-integration-knob-and-specs-land-in-proposed-rename):
285
+ # they gate autonomy only and are NOT read here. \`intake\` itself is GATE-FREE (the
286
+ # explicit invocation is its own authorization); CI READS only the resolved
287
+ # \`intakeIntegration\`/\`integration\` to DERIVE the merge-vs-propose document flags
288
+ # below (the merge-vs-propose POLICY).
254
289
 
255
290
  jobs:
256
291
  intake:
@@ -265,16 +300,23 @@ jobs:
265
300
  fetch-depth: 0
266
301
  - uses: ./.github/actions/dorfl-setup${setupWith}
267
302
 
268
- - name: derive the per-outcome merge-vs-propose flags (gate × author-trust)
303
+ - name: derive the intake DOCUMENT mode (intakeIntegration) + the origin-trust stamp (author-trust)
269
304
  id: policy
270
- # The merge-vs-propose POLICY, executed at runtime — the SAME rule
305
+ # The intake POLICY, executed at runtime — the SAME rule
271
306
  # \`deriveIntakeFlags\` unit-tests (they cannot desync; the test asserts this
272
- # shell matches the function):
273
- # * SPEC — gate-derived ONLY: --merge-spec iff autoTask OFF (a human
274
- # tasks it before anything autonomous acts — the checkpoint
275
- # stays ahead even for an UNTRUSTED author), else --propose-spec.
276
- # * TASK — --propose-task iff (autoBuild ON) OR (author UNTRUSTED);
277
- # --merge-task ONLY iff (autoBuild OFF AND author TRUSTED).
307
+ # shell matches the function). The DOCUMENT mode is the resolved
308
+ # \`intakeIntegration ?? integration\` (operator/config), DECOUPLED from the
309
+ # autonomy gates; author-trust drives ONLY the stamp + placement (ADR
310
+ # untrusted-origin-carries-via-stamp-not-forced-staging; spec
311
+ # intake-integration-knob-and-specs-land-in-proposed-rename):
312
+ # * DOCUMENT mode (spec = task) — config-derived: --merge-* iff the
313
+ # resolved intakeIntegration is merge, else --propose-*. A SINGLE
314
+ # value applied to BOTH the spec and task document. autoBuild/
315
+ # autoTask are NOT read (they gate autonomy only).
316
+ # * ORIGIN-TRUST stamp — the ONLY thing author-trust drives: --origin-trust
317
+ # untrusted iff the author is not OWNER/MEMBER/COLLABORATOR, which
318
+ # \`intake\`'s dispatch reads to select the untrusted PLACEMENT
319
+ # default and to force the later BUILD to a code PR.
278
320
  # author_association comes from the COMMENT on an \`issue_comment\` event,
279
321
  # else the ISSUE on an \`issues\` event — read straight off the payload, no
280
322
  # extra API call.
@@ -283,37 +325,53 @@ jobs:
283
325
  run: |
284
326
  set -euo pipefail
285
327
 
286
- # SPEC flag: gate-derived only (author-trust does NOT bite a spec).
287
- if [ "\${DORFL_AUTO_TASK}" = "true" ]; then
288
- spec_flag="--propose-spec"
289
- else
328
+ # Read the RESOLVED intake DOCUMENT mode from the committed config via
329
+ # \`dorfl config --json\` (the mechanism \`advance\` already uses), NOT a
330
+ # hardcoded DORFL_* env (ADR
331
+ # untrusted-origin-carries-via-stamp-not-forced-staging: an env default
332
+ # would OUTRANK dorfl.json — the shadowing bug). In-place, so the
333
+ # resolution chain reads THIS repo's dorfl.json exactly like the laptop.
334
+ # \`intakeIntegration\` is OPTIONAL (unset ⇒ falls back to \`integration\`),
335
+ # so read \`.intakeIntegration // .integration\` in ONE jq expression — the
336
+ # shell twin of the \`intakeIntegration ?? integration\` the CLI applies.
337
+ # The autonomy gates (autoBuild/autoTask) are DECOUPLED from the document
338
+ # mode (spec intake-integration-knob-and-specs-land-in-proposed-rename):
339
+ # they gate autonomy only and are NOT read here.
340
+ config_json="$(dorfl config --json)"
341
+ intake_integration="$(echo "\${config_json}" | jq -r '.intakeIntegration // .integration')"
342
+
343
+ # DOCUMENT mode: config-derived from the single \`intakeIntegration ??
344
+ # integration\` value, applied to BOTH the spec and task document (US #1
345
+ # chose one intake knob, not a per-type split). merge ⇒ --merge-*,
346
+ # else --propose-*. Author-trust does NOT bite the mode (ADR
347
+ # untrusted-origin-carries-via-stamp-not-forced-staging): an untrusted
348
+ # author's DOCUMENT merges just like a trusted one; the untrusted safety
349
+ # is the stamp + placement below, not a document PR.
350
+ if [ "\${intake_integration}" = "merge" ]; then
290
351
  spec_flag="--merge-spec"
352
+ task_flag="--merge-task"
353
+ else
354
+ spec_flag="--propose-spec"
355
+ task_flag="--propose-task"
291
356
  fi
292
357
 
293
358
  # Author-trust: TRUSTED iff OWNER/MEMBER/COLLABORATOR (admin / write-
294
359
  # collaborator — the whole signal). Anything else (incl. empty) is
295
- # UNTRUSTED → the conservative, human-in-the-loop path.
360
+ # UNTRUSTED. It drives ONLY the origin-trust stamp below (NOT the modes).
296
361
  trusted="false"
297
362
  case "\${AUTHOR_ASSOCIATION:-}" in
298
363
  OWNER|MEMBER|COLLABORATOR) trusted="true" ;;
299
364
  esac
300
365
 
301
- # TASK flag: propose if the agent will auto-build it (gate ON) OR the
302
- # author is untrusted; merge ONLY when both are safe.
303
- if [ "\${DORFL_AUTO_BUILD}" = "true" ] || [ "\${trusted}" != "true" ]; then
304
- task_flag="--propose-task"
305
- else
306
- task_flag="--merge-task"
307
- fi
308
-
309
- # ORIGIN-TRUST stamp (task untrusted-origin-forces-build-propose):
310
- # derived from the SAME \${trusted} case above (one author-trust read,
311
- # two consumers — the task/spec modes AND the stamp — so they cannot
312
- # desync). \`intake\` STAMPS this onto the emitted spec/task frontmatter
313
- # (origin: issue + originTrust: <value>); it does NOT re-resolve trust
314
- # (that is CI's policy, passed IN). The stamp SURVIVES the merge boundary
315
- # so a later auto-task/auto-build of an untrusted-origin artifact still
316
- # forces a human becomes-code checkpoint (the laundering gap is closed).
366
+ # ORIGIN-TRUST stamp — the SOLE thing author-trust drives on the wire
367
+ # (task untrusted-origin-forces-build-propose). \`intake\` STAMPS this
368
+ # onto the emitted spec/task frontmatter (origin: issue + originTrust:
369
+ # <value>); its dispatch reads the stamp to (1) select the untrusted-side
370
+ # PLACEMENT default (\`untrusted*LandIn\`) and (2) force the later BUILD of
371
+ # an untrusted task to a code PR. It does NOT re-resolve trust (that is
372
+ # CI's policy, passed IN). The stamp SURVIVES the merge boundary so a
373
+ # later auto-task/auto-build of an untrusted-origin artifact still forces
374
+ # a human becomes-code checkpoint (the laundering gap is closed).
317
375
  if [ "\${trusted}" = "true" ]; then
318
376
  origin_trust_flag="--origin-trust=trusted"
319
377
  else
@@ -323,12 +381,15 @@ jobs:
323
381
  echo "spec_flag=\${spec_flag}" >> "\$GITHUB_OUTPUT"
324
382
  echo "task_flag=\${task_flag}" >> "\$GITHUB_OUTPUT"
325
383
  echo "origin_trust_flag=\${origin_trust_flag}" >> "\$GITHUB_OUTPUT"
326
- echo "intake policy: author_association='\${AUTHOR_ASSOCIATION:-}' trusted=\${trusted} → \${spec_flag} \${task_flag} \${origin_trust_flag}"
384
+ echo "intake policy: intakeIntegration='\${intake_integration}' author_association='\${AUTHOR_ASSOCIATION:-}' trusted=\${trusted} → \${spec_flag} \${task_flag} \${origin_trust_flag}"
327
385
 
328
386
  - name: intake the issue (four-outcome dispatch; surfaces the review verdict into the thread)
329
387
  # In-place in this checkout (no --isolated/--remote): the CI container IS
330
388
  # the isolation. EXPLICIT \`intake <N>\`, never a bare slug. The per-outcome
331
- # flags carry the merge-vs-propose POLICY derived above. \`intake\` runs the
389
+ # flags carry the (intakeIntegration-derived) document modes + the
390
+ # origin-trust stamp derived above (author-trust drives only the stamp +
391
+ # placement, not the document merge-vs-propose; the autonomy gates drive
392
+ # neither). \`intake\` runs the
332
393
  # lone-task review/edit loop and posts its findings as questions back into
333
394
  # THIS issue thread (insertion point E) through the issue-comment seam —
334
395
  # CI surfaces E by invoking intake; it adds no new review mechanism.
@@ -397,30 +458,68 @@ export function validateIntakeWorkflow(text) {
397
458
  // Trust = OWNER/MEMBER/COLLABORATOR (the whole signal).
398
459
  require('trust-owner-member-collaborator', /OWNER\|MEMBER\|COLLABORATOR|OWNER[\s\S]{0,40}MEMBER[\s\S]{0,40}COLLABORATOR/.test(text), 'author-trust must be OWNER/MEMBER/COLLABORATOR (admin / write-collaborator ' +
399
460
  '— the whole signal; Decision 1).');
400
- // An untrusted author forces --propose-task; the derivation must emit both
401
- // task modes (so the untrusted path can reach propose and the trusted-safe
402
- // path can reach merge).
461
+ // The DOCUMENT mode is intakeIntegration-DERIVED (spec
462
+ // intake-integration-knob-and-specs-land-in-proposed-rename; the autonomy gates
463
+ // no longer bite it): the derivation must be able to emit both task modes
464
+ // (merge iff the resolved intakeIntegration is merge, else propose).
403
465
  require('derives-propose-task', /--propose-task\b/.test(operative), 'the policy derivation must be able to emit `--propose-task` (the ' +
404
- 'untrusted-author / autoBuild-on fallback).');
466
+ 'intakeIntegration-propose path).');
405
467
  require('derives-merge-task', /--merge-task\b/.test(operative), 'the policy derivation must be able to emit `--merge-task` (the ' +
406
- 'trusted-author + autoBuild-off path).');
407
- // --merge-spec stays allowed even for an untrusted author (spec checkpoint ahead).
408
- require('derives-merge-spec', /--merge-spec\b/.test(operative), 'the policy derivation must be able to emit `--merge-spec` (a spec stays ' +
409
- 'mergeable even for an untrusted author — the human-tasks-it checkpoint).');
410
- require('derives-propose-spec', /--propose-spec\b/.test(operative), 'the policy derivation must be able to emit `--propose-spec` (autoTask on).');
468
+ 'intakeIntegration-merge path; a task DOCUMENT merges regardless of the ' +
469
+ 'autonomy gates or author-trust).');
470
+ // --merge-spec is emitted when the resolved intakeIntegration is merge (the
471
+ // SAME single value as the task; the gates do not bite it).
472
+ require('derives-merge-spec', /--merge-spec\b/.test(operative), 'the policy derivation must be able to emit `--merge-spec` (the ' +
473
+ 'intakeIntegration-merge path).');
474
+ require('derives-propose-spec', /--propose-spec\b/.test(operative), 'the policy derivation must be able to emit `--propose-spec` (the ' +
475
+ 'intakeIntegration-propose path).');
411
476
  // ORIGIN-TRUST stamp (task untrusted-origin-forces-build-propose): the shell
412
- // must derive `--origin-trust <trusted|untrusted>` from the SAME author-trust
413
- // case it uses for the task/SPEC modes, and pass it to `intake` so the emitted
414
- // artifact is stamped (the stamp + the modes cannot desync).
477
+ // must derive `--origin-trust <trusted|untrusted>` from the author-trust case
478
+ // (independent of the document mode) and pass it to `intake` so the emitted
479
+ // artifact is stamped (the stamp is the SOLE thing author-trust drives).
415
480
  require('derives-origin-trust-untrusted', /--origin-trust=untrusted\b/.test(operative), 'the policy derivation must emit `--origin-trust=untrusted` for a non-trusted ' +
416
481
  'author (so the emitted artifact is stamped untrusted; task ' +
417
482
  'untrusted-origin-forces-build-propose).');
418
483
  require('derives-origin-trust-trusted', /--origin-trust=trusted\b/.test(operative), 'the policy derivation must emit `--origin-trust=trusted` for a trusted author.');
419
484
  require('passes-origin-trust-to-intake', /steps\.policy\.outputs\.origin_trust_flag/.test(operative), 'the intake invocation must pass the derived `--origin-trust` flag (the ' +
420
485
  'stamp must reach `dorfl intake`).');
421
- // The derivation must compose the gate env block (it READS the gates to derive).
422
- require('reads-auto-build-gate', /DORFL_AUTO_BUILD\b/.test(text), 'the policy derivation must read the `DORFL_AUTO_BUILD` gate.');
423
- require('reads-auto-task-gate', /DORFL_AUTO_TASK\b/.test(text), 'the policy derivation must read the `DORFL_AUTO_TASK` gate.');
486
+ // The derivation must read the RESOLVED intake DOCUMENT mode via `dorfl config
487
+ // --json` (the mechanism `advance` uses), NOT a hardcoded DORFL_* env (ADR
488
+ // untrusted-origin-carries-via-stamp-not-forced-staging — the shadowing bug).
489
+ require('reads-config-json', /dorfl config --json/.test(operative), 'the policy derivation must read the resolved config via ' +
490
+ '`dorfl config --json` (as `advance` does), so a committed `dorfl.json` ' +
491
+ 'mode is honored in CI (not shadowed by a hardcoded env).');
492
+ // The DOCUMENT mode is the resolved `intakeIntegration ?? integration` (spec
493
+ // intake-integration-knob-and-specs-land-in-proposed-rename): the derivation
494
+ // must read `.intakeIntegration` with a `.integration` FALLBACK (the shell twin
495
+ // of `intakeIntegration ?? integration`), NOT the autonomy gates. Pin BOTH the
496
+ // key and the fallback so a regression to a gate-derived mode is caught.
497
+ require('reads-intake-integration', /\.intakeIntegration\b/.test(operative), 'the policy derivation must read the resolved `intakeIntegration` mode (jq ' +
498
+ '`.intakeIntegration` off `dorfl config --json`) for the document mode.');
499
+ require('intake-integration-falls-back-to-integration', /\.intakeIntegration\s*\/\/\s*\.integration/.test(operative), 'the policy derivation must fall back to `.integration` when ' +
500
+ '`intakeIntegration` is unset (jq `.intakeIntegration // .integration`, the ' +
501
+ 'shell twin of `intakeIntegration ?? integration`).');
502
+ // The DOCUMENT mode must NOT be derived from the autonomy gates (spec
503
+ // intake-integration-knob-and-specs-land-in-proposed-rename: autoBuild/autoTask
504
+ // gate autonomy ONLY, never the document PR-mode). The mode branch must not read
505
+ // `.autoBuild` / `.autoTask` off the config json.
506
+ require('mode-not-gate-derived', !/\.auto(?:Build|Task)\b/.test(operative), 'the intake DOCUMENT mode must be derived from `intakeIntegration ?? ' +
507
+ 'integration`, NOT the autonomy gates — the derivation must not read ' +
508
+ '`.autoBuild` / `.autoTask` (they gate autonomy only; spec ' +
509
+ 'intake-integration-knob-and-specs-land-in-proposed-rename).');
510
+ // ANTI-REGRESSION (ADR untrusted-origin-carries-via-stamp-not-forced-staging;
511
+ // spec US #12): the workflow must NOT emit a `DORFL_AUTO_BUILD:` /
512
+ // `DORFL_AUTO_TASK:` env ASSIGNMENT. The env layer OUTRANKS per-repo config, so
513
+ // a hardcoded default here SHADOWS the committed `dorfl.json` gates (the bug this
514
+ // task fixes). Mirrors `advance-lifecycle-template.ts`'s `no-gate-env-auto-build`
515
+ // / `no-gate-env-auto-task`. Checked over the OPERATIVE (non-comment) lines so
516
+ // the header comment that NAMES these keys is not a false positive.
517
+ require('no-gate-env-auto-build', !/DORFL_AUTO_BUILD\s*:/.test(operative), 'the workflow must NOT emit a `DORFL_AUTO_BUILD:` env assignment (env ' +
518
+ 'carries no defaults; the gate is resolved from per-repo config / built-in ' +
519
+ 'default — else the env SHADOWS the committed dorfl.json).');
520
+ require('no-gate-env-auto-task', !/DORFL_AUTO_TASK\s*:/.test(operative), 'the workflow must NOT emit a `DORFL_AUTO_TASK:` env assignment (env ' +
521
+ 'carries no defaults; the gate is resolved from per-repo config / built-in ' +
522
+ 'default — else the env SHADOWS the committed dorfl.json).');
424
523
  // --- Insertion point E: the issue-thread review surface ---------------------
425
524
  // E is REUSED via `intake` (which runs the lone-task review and posts to the
426
525
  // thread). The workflow must request `issues: write` so that comment can land.
@@ -1 +1 @@
1
- {"version":3,"file":"intake-trigger-template.js","sourceRoot":"","sources":["../src/intake-trigger-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intake-trigger-template.js","sourceRoot":"","sources":["../src/intake-trigger-template.ts"],"names":[],"mappings":"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"}
package/dist/intake.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { IntegrateResult, ReviewProvider } from './integrator.js';
2
- import type { IntegrationMode, SpecsLandIn } from './config.js';
2
+ import type { IntegrationMode, SpecsLandIn, TasksLandIn } from './config.js';
3
3
  import type { OriginTrust } from './frontmatter.js';
4
4
  import { type Identity } from './identity.js';
5
5
  import { type Harness } from './harness.js';
@@ -226,11 +226,47 @@ export interface PerformIntakeOptions {
226
226
  * the PR opens normally.
227
227
  */
228
228
  noPR?: boolean;
229
+ /**
230
+ * **The per-repo TASK-PLACEMENT default, passed IN** (spec
231
+ * `untrusted-origin-carries-via-stamp-intake-placement-symmetry-and-ci-gate-resolution`
232
+ * US #2, governing ADR `untrusted-origin-carries-via-stamp-not-forced-staging`).
233
+ * The resolved per-repo default landing for `intake`-authored TASKS emitted
234
+ * DIRECTLY from an issue (`backlog` = staging; `ready` = the agent pool), fed
235
+ * as the CONFIGURED-DEFAULT rung into the shared placement resolver
236
+ * (`src/placement.ts`) via the SAME task slots + `landingToSide` mapping the
237
+ * tasker (`tasking.ts`) uses — so the intake TASK emit reaches PARITY with the
238
+ * intake SPEC emit (both route through the resolver, both stamp origin-trust).
239
+ * Unset ⇒ the resolver's built-in floor applies (`staging` = `tasks/backlog/`,
240
+ * the conservative landing). The TASK twin of {@link specsLandIn}.
241
+ */
242
+ tasksLandIn?: TasksLandIn;
243
+ /**
244
+ * **The per-repo UNTRUSTED-side TASK-PLACEMENT default, passed IN** (spec
245
+ * `untrusted-origin-carries-via-stamp-intake-placement-symmetry-and-ci-gate-resolution`
246
+ * US #5, governing ADR `untrusted-origin-carries-via-stamp-not-forced-staging`).
247
+ * The TWIN of {@link tasksLandIn} selected when the intake stamp is
248
+ * `originTrust: untrusted`: {@link dispatchTask} reads the stamp and feeds THIS
249
+ * default (rather than {@link tasksLandIn}) as the configured-default rung of
250
+ * the shared placement resolver. The resolver no longer has an
251
+ * untrusted-forces-staging rung; DEFAULTS to staging (`backlog`), opt-in
252
+ * `ready` (safety then via the task's carried stamp, not the folder). The TASK
253
+ * twin of {@link untrustedSpecsLandIn}; the SAME knob the tasker consults for
254
+ * an untrusted-origin spec's downstream tasks (one policy, both call sites).
255
+ */
256
+ untrustedTasksLandIn?: TasksLandIn;
257
+ /**
258
+ * **The OPERATOR's EXPLICIT task-placement override** (the TOP precedence
259
+ * rung). When set, the runner-deterministic resolver lands the emitted task
260
+ * HERE regardless of {@link tasksLandIn} / {@link untrustedTasksLandIn} — the
261
+ * TASK twin of {@link explicitSpecsLandIn}. Set ONLY when the operator typed
262
+ * the explicit placement flag; never when the value came from config.
263
+ */
264
+ explicitTasksLandIn?: TasksLandIn;
229
265
  /**
230
266
  * **The per-repo SPEC-PLACEMENT default, passed IN** (spec
231
267
  * `staging-pool-position-gate-and-trust-model` US #2/#5, task
232
268
  * `pre-prd-staging-pool-split-and-untrusted-prd-placement`). The resolved
233
- * per-repo default landing for `intake`-authored prds (`pre-proposed` =
269
+ * per-repo default landing for `intake`-authored prds (`proposed` =
234
270
  * staging; `ready` = the auto-tasking pool), fed as the CONFIGURED-DEFAULT rung
235
271
  * into the shared placement resolver (`src/placement.ts`). The resolver
236
272
  * overlays an EXPLICIT operator flag ({@link explicitSpecsLandIn}, top) and
@@ -240,11 +276,24 @@ export interface PerformIntakeOptions {
240
276
  * path — one resolver, two lifecycles.
241
277
  */
242
278
  specsLandIn?: SpecsLandIn;
279
+ /**
280
+ * **The per-repo UNTRUSTED-side SPEC-PLACEMENT default, passed IN** (spec
281
+ * `untrusted-origin-carries-via-stamp-intake-placement-symmetry-and-ci-gate-resolution`
282
+ * US #7, governing ADR
283
+ * `untrusted-origin-carries-via-stamp-not-forced-staging`). The TWIN of
284
+ * {@link specsLandIn} selected when the intake stamp is
285
+ * `originTrust: untrusted`: the spec dispatch reads the stamp and feeds THIS
286
+ * default (rather than {@link specsLandIn}) as the configured-default rung of
287
+ * the shared placement resolver. The resolver no longer has an
288
+ * untrusted-forces-staging rung; DEFAULTS to staging (`proposed`), opt-in
289
+ * `ready` (safety then via the tasks' carried stamp, not the folder).
290
+ */
291
+ untrustedSpecsLandIn?: SpecsLandIn;
243
292
  /**
244
293
  * **The OPERATOR's EXPLICIT spec-placement override** (the TOP precedence
245
294
  * rung). When set, the runner-deterministic resolver lands the spec HERE
246
- * regardless of `originTrust` or {@link specsLandIn} — the positional
247
- * analogue of `explicitMerge` overriding the untrusted-origin
295
+ * regardless of {@link specsLandIn} / {@link untrustedSpecsLandIn} — the
296
+ * positional analogue of `explicitMerge` overriding the untrusted-origin
248
297
  * build-propose rule ("the operator is present; CLI always wins, no
249
298
  * special force-key"). Set ONLY when the operator typed
250
299
  * `--specs-land-in <where>`; never when the value came from config.
@@ -1 +1 @@
1
- {"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../src/intake.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intake.d.ts","sourceRoot":"","sources":["../src/intake.ts"],"names":[],"mappings":"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"}