dorfl 0.1.0 → 0.1.2
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.
- package/dist/advance-ci-template.d.ts +3 -3
- package/dist/advance-ci-template.js +1 -1
- package/dist/advance-ci-template.js.map +1 -1
- package/dist/advance-classify.d.ts +5 -5
- package/dist/advance-classify.d.ts.map +1 -1
- package/dist/advance-classify.js +4 -4
- package/dist/advance-drivers.d.ts +7 -7
- package/dist/advance-drivers.d.ts.map +1 -1
- package/dist/advance-drivers.js +5 -5
- package/dist/advance-drivers.js.map +1 -1
- package/dist/advance-isolated.d.ts +3 -3
- package/dist/advance-isolated.d.ts.map +1 -1
- package/dist/advance-isolated.js +1 -1
- package/dist/advance-lifecycle-template.d.ts +2 -2
- package/dist/advance-lifecycle-template.js +9 -9
- package/dist/advance-lifecycle-template.js.map +1 -1
- package/dist/advance-loop-driver.d.ts +3 -3
- package/dist/advance-loop-driver.d.ts.map +1 -1
- package/dist/advance-loop-driver.js +1 -1
- package/dist/advance-treeless-publish.d.ts +1 -1
- package/dist/advance.d.ts +11 -11
- package/dist/advance.d.ts.map +1 -1
- package/dist/advance.js +21 -21
- package/dist/advance.js.map +1 -1
- package/dist/advancing-lock.d.ts +1 -1
- package/dist/advancing-lock.js +5 -5
- package/dist/apply-decide.d.ts +2 -2
- package/dist/apply-decide.js +2 -2
- package/dist/apply-merge-action.d.ts +4 -4
- package/dist/apply-merge-action.js +2 -2
- package/dist/apply-persist.d.ts +5 -5
- package/dist/apply-persist.d.ts.map +1 -1
- package/dist/apply-persist.js +7 -7
- package/dist/apply-persist.js.map +1 -1
- package/dist/buildable-body.d.ts +14 -14
- package/dist/buildable-body.js +9 -9
- package/dist/claim-cas.d.ts +3 -3
- package/dist/claim-cas.js +1 -1
- package/dist/claim-cas.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +83 -77
- package/dist/cli.js.map +1 -1
- package/dist/close-job-template.d.ts +3 -3
- package/dist/close-job-template.js +8 -8
- package/dist/close-job.d.ts +8 -8
- package/dist/close-job.js +25 -25
- package/dist/close-job.js.map +1 -1
- package/dist/complete.d.ts +3 -3
- package/dist/complete.js +8 -8
- package/dist/complete.js.map +1 -1
- package/dist/concurrency.d.ts +1 -1
- package/dist/concurrency.js +1 -1
- package/dist/config.d.ts +32 -32
- package/dist/config.js +5 -5
- package/dist/config.js.map +1 -1
- package/dist/continue-branch.d.ts +1 -1
- package/dist/continue-branch.js +1 -1
- package/dist/cwd-section.js +1 -1
- package/dist/cwd-section.js.map +1 -1
- package/dist/decision-engine.d.ts +2 -2
- package/dist/do-autopick.d.ts +6 -6
- package/dist/do-autopick.d.ts.map +1 -1
- package/dist/do-autopick.js +5 -5
- package/dist/do-autopick.js.map +1 -1
- package/dist/do-config.d.ts +3 -3
- package/dist/do-config.js +3 -3
- package/dist/do-config.js.map +1 -1
- package/dist/do-remote-auto.d.ts +2 -2
- package/dist/do-remote-auto.js +1 -1
- package/dist/do.d.ts +25 -25
- package/dist/do.d.ts.map +1 -1
- package/dist/do.js +22 -22
- package/dist/do.js.map +1 -1
- package/dist/drop-source.d.ts +2 -2
- package/dist/env-config.js +8 -8
- package/dist/env-config.js.map +1 -1
- package/dist/format.js +3 -3
- package/dist/format.js.map +1 -1
- package/dist/frontmatter.d.ts +33 -39
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +18 -31
- package/dist/frontmatter.js.map +1 -1
- package/dist/install-ci-branch-protection.d.ts +1 -1
- package/dist/install-ci-branch-protection.js +1 -1
- package/dist/install-ci-capabilities/advance-lifecycle.d.ts +1 -1
- package/dist/install-ci-capabilities/advance-lifecycle.js +1 -1
- package/dist/install-ci-capabilities/close-job.d.ts +1 -1
- package/dist/install-ci-capabilities/close-job.js +1 -1
- package/dist/install-ci-capabilities/example-noop.d.ts +1 -1
- package/dist/install-ci-capabilities/example-noop.js +1 -1
- package/dist/install-ci-capabilities/intake.d.ts +2 -2
- package/dist/install-ci-capabilities/intake.js +2 -2
- package/dist/install-ci-capabilities/verify.d.ts +1 -1
- package/dist/install-ci-capabilities/verify.js +1 -1
- package/dist/install-ci-core.d.ts +3 -3
- package/dist/install-ci-core.js +2 -2
- package/dist/install-ci-core.js.map +1 -1
- package/dist/install-ci-github.d.ts +1 -1
- package/dist/install-ci-github.js +1 -1
- package/dist/install-ci.d.ts +1 -1
- package/dist/install-ci.js +4 -4
- package/dist/install-ci.js.map +1 -1
- package/dist/intake-event.d.ts +6 -6
- package/dist/intake-event.js +6 -6
- package/dist/intake-marker.d.ts +3 -3
- package/dist/intake-marker.d.ts.map +1 -1
- package/dist/intake-triage.d.ts +1 -1
- package/dist/intake-triage.js +2 -2
- package/dist/intake-trigger-template.d.ts +8 -8
- package/dist/intake-trigger-template.d.ts.map +1 -1
- package/dist/intake-trigger-template.js +16 -16
- package/dist/intake-trigger-template.js.map +1 -1
- package/dist/intake.d.ts +50 -50
- package/dist/intake.d.ts.map +1 -1
- package/dist/intake.js +70 -70
- package/dist/intake.js.map +1 -1
- package/dist/integration-core.d.ts +17 -17
- package/dist/integration-core.js +17 -17
- package/dist/integration-core.js.map +1 -1
- package/dist/isolation.d.ts +3 -3
- package/dist/issue-provider.d.ts +4 -4
- package/dist/issue-provider.js +1 -1
- package/dist/item-lock.d.ts +21 -21
- package/dist/item-lock.d.ts.map +1 -1
- package/dist/item-lock.js +16 -16
- package/dist/item-path.d.ts +2 -2
- package/dist/item-path.js +2 -2
- package/dist/ledger-lint.d.ts +9 -9
- package/dist/ledger-lint.js +9 -9
- package/dist/ledger-read.d.ts +57 -57
- package/dist/ledger-read.d.ts.map +1 -1
- package/dist/ledger-read.js +24 -24
- package/dist/ledger-read.js.map +1 -1
- package/dist/ledger-write.d.ts +2 -2
- package/dist/ledger-write.js +1 -1
- package/dist/lifecycle-gather.d.ts +1 -1
- package/dist/lifecycle-gather.js +16 -16
- package/dist/lifecycle-gather.js.map +1 -1
- package/dist/lifecycle-pools.d.ts +4 -4
- package/dist/lifecycle-pools.js +1 -1
- package/dist/merge-question-surfacer.d.ts +3 -3
- package/dist/merge-question-surfacer.js +2 -2
- package/dist/merge-question-surfacer.js.map +1 -1
- package/dist/mint-adr.js +4 -4
- package/dist/mirror-pool-scan.d.ts +2 -2
- package/dist/mirror-pool-scan.js +3 -3
- package/dist/mirror-pool-scan.js.map +1 -1
- package/dist/needs-attention.d.ts +13 -13
- package/dist/needs-attention.d.ts.map +1 -1
- package/dist/needs-attention.js +11 -11
- package/dist/needs-attention.js.map +1 -1
- package/dist/orphan-sidecar.d.ts +2 -2
- package/dist/placement.d.ts +6 -6
- package/dist/placement.js +2 -2
- package/dist/prd-to-spec.d.ts +15 -1
- package/dist/prd-to-spec.d.ts.map +1 -1
- package/dist/prd-to-spec.js +36 -14
- package/dist/prd-to-spec.js.map +1 -1
- package/dist/prompt.d.ts +24 -24
- package/dist/prompt.d.ts.map +1 -1
- package/dist/prompt.js +29 -31
- package/dist/prompt.js.map +1 -1
- package/dist/protocol/CLAIM-PROTOCOL.md +4 -4
- package/dist/protocol/REVIEW-PROTOCOL.md +1 -1
- package/dist/protocol/TASKING-PROTOCOL.md +12 -12
- package/dist/protocol/WORK-CONTRACT.md +39 -39
- package/dist/protocol/spec-template.md +1 -1
- package/dist/protocol/task-template.md +3 -3
- package/dist/readiness.d.ts +1 -1
- package/dist/recover-isolated.js +1 -1
- package/dist/repo-config.js +12 -12
- package/dist/repo-config.js.map +1 -1
- package/dist/review-gate.d.ts +3 -3
- package/dist/review-gate.d.ts.map +1 -1
- package/dist/review-gate.js +11 -10
- package/dist/review-gate.js.map +1 -1
- package/dist/review-verdict.d.ts +2 -2
- package/dist/review-verdict.d.ts.map +1 -1
- package/dist/review-verdict.js +1 -1
- package/dist/run.d.ts +1 -1
- package/dist/run.js +5 -5
- package/dist/run.js.map +1 -1
- package/dist/scan.d.ts +10 -10
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +8 -8
- package/dist/scan.js.map +1 -1
- package/dist/select-order.d.ts +1 -1
- package/dist/select-priority.d.ts +12 -12
- package/dist/select-priority.d.ts.map +1 -1
- package/dist/select-priority.js +5 -5
- package/dist/select-priority.js.map +1 -1
- package/dist/sidecar.d.ts +2 -2
- package/dist/sidecar.js +2 -2
- package/dist/sidecar.js.map +1 -1
- package/dist/slug-namespace.d.ts +1 -1
- package/dist/slug-namespace.js +3 -3
- package/dist/slug-namespace.js.map +1 -1
- package/dist/spec-complete.js +2 -2
- package/dist/spec-complete.js.map +1 -1
- package/dist/start.d.ts +1 -1
- package/dist/start.js +3 -3
- package/dist/start.js.map +1 -1
- package/dist/status.d.ts +3 -3
- package/dist/status.js +4 -4
- package/dist/status.js.map +1 -1
- package/dist/surface-gate.d.ts +2 -2
- package/dist/surface-gate.d.ts.map +1 -1
- package/dist/surface-persist.d.ts +2 -2
- package/dist/surface-persist.d.ts.map +1 -1
- package/dist/tasker-review-loop.d.ts +8 -8
- package/dist/tasker-review-loop.d.ts.map +1 -1
- package/dist/tasker-review-loop.js +8 -8
- package/dist/tasker-review-loop.js.map +1 -1
- package/dist/tasking-eligibility.d.ts +21 -21
- package/dist/tasking-eligibility.d.ts.map +1 -1
- package/dist/tasking-eligibility.js +10 -10
- package/dist/tasking-lock.d.ts +8 -8
- package/dist/tasking-lock.d.ts.map +1 -1
- package/dist/tasking-lock.js +20 -21
- package/dist/tasking-lock.js.map +1 -1
- package/dist/tasking.d.ts +33 -33
- package/dist/tasking.d.ts.map +1 -1
- package/dist/tasking.js +89 -88
- package/dist/tasking.js.map +1 -1
- package/dist/triage-gate.d.ts +1 -1
- package/dist/triage-persist.d.ts +5 -5
- package/dist/triage-persist.js +15 -15
- package/dist/triage-persist.js.map +1 -1
- package/dist/verify-workflow-template.d.ts +1 -1
- package/dist/verify-workflow-template.js +2 -2
- package/dist/work-layout.d.ts +9 -7
- package/dist/work-layout.d.ts.map +1 -1
- package/dist/work-layout.js +9 -7
- package/dist/work-layout.js.map +1 -1
- package/dist/workspace.d.ts +1 -1
- package/package.json +1 -1
- package/src/advance-ci-template.ts +4 -4
- package/src/advance-classify.ts +5 -5
- package/src/advance-drivers.ts +10 -10
- package/src/advance-isolated.ts +3 -3
- package/src/advance-lifecycle-template.ts +9 -9
- package/src/advance-loop-driver.ts +3 -3
- package/src/advance-treeless-publish.ts +1 -1
- package/src/advance.ts +30 -30
- package/src/advancing-lock.ts +6 -6
- package/src/apply-decide.ts +2 -2
- package/src/apply-merge-action.ts +5 -5
- package/src/apply-persist.ts +8 -8
- package/src/buildable-body.ts +14 -14
- package/src/claim-cas.ts +4 -4
- package/src/cli.ts +94 -84
- package/src/close-job-template.ts +8 -8
- package/src/close-job.ts +26 -26
- package/src/complete.ts +11 -11
- package/src/concurrency.ts +1 -1
- package/src/config.ts +37 -37
- package/src/continue-branch.ts +1 -1
- package/src/cwd-section.ts +1 -1
- package/src/decision-engine.ts +3 -3
- package/src/do-autopick.ts +9 -9
- package/src/do-config.ts +6 -6
- package/src/do-remote-auto.ts +2 -2
- package/src/do.ts +49 -49
- package/src/drop-source.ts +2 -2
- package/src/env-config.ts +8 -8
- package/src/format.ts +3 -3
- package/src/frontmatter.ts +42 -60
- package/src/install-ci-branch-protection.ts +1 -1
- package/src/install-ci-capabilities/advance-lifecycle.ts +1 -1
- package/src/install-ci-capabilities/close-job.ts +1 -1
- package/src/install-ci-capabilities/example-noop.ts +1 -1
- package/src/install-ci-capabilities/intake.ts +2 -2
- package/src/install-ci-capabilities/verify.ts +1 -1
- package/src/install-ci-core.ts +4 -4
- package/src/install-ci-github.ts +1 -1
- package/src/install-ci.ts +4 -4
- package/src/intake-event.ts +6 -6
- package/src/intake-marker.ts +3 -3
- package/src/intake-triage.ts +2 -2
- package/src/intake-trigger-template.ts +17 -17
- package/src/intake.ts +97 -97
- package/src/integration-core.ts +35 -35
- package/src/isolation.ts +3 -3
- package/src/issue-provider.ts +4 -4
- package/src/item-lock.ts +21 -21
- package/src/item-path.ts +2 -2
- package/src/ledger-lint.ts +9 -9
- package/src/ledger-read.ts +81 -81
- package/src/ledger-write.ts +3 -3
- package/src/lifecycle-gather.ts +16 -16
- package/src/lifecycle-pools.ts +4 -4
- package/src/merge-question-surfacer.ts +4 -4
- package/src/mint-adr.ts +4 -4
- package/src/mirror-pool-scan.ts +5 -5
- package/src/needs-attention.ts +22 -22
- package/src/orphan-sidecar.ts +2 -2
- package/src/placement.ts +6 -6
- package/src/prd-to-spec.ts +51 -15
- package/src/prompt.ts +33 -35
- package/src/readiness.ts +1 -1
- package/src/recover-isolated.ts +1 -1
- package/src/repo-config.ts +12 -12
- package/src/review-gate.ts +12 -11
- package/src/review-verdict.ts +2 -2
- package/src/run.ts +6 -6
- package/src/scan.ts +15 -15
- package/src/select-order.ts +1 -1
- package/src/select-priority.ts +13 -13
- package/src/sidecar.ts +3 -3
- package/src/slug-namespace.ts +3 -3
- package/src/spec-complete.ts +2 -2
- package/src/start.ts +4 -4
- package/src/status.ts +7 -7
- package/src/surface-gate.ts +2 -2
- package/src/surface-persist.ts +2 -2
- package/src/tasker-review-loop.ts +15 -15
- package/src/tasking-eligibility.ts +21 -21
- package/src/tasking-lock.ts +27 -28
- package/src/tasking.ts +124 -123
- package/src/triage-gate.ts +1 -1
- package/src/triage-persist.ts +16 -16
- package/src/verify-workflow-template.ts +2 -2
- package/src/work-layout.ts +9 -7
- package/src/workspace.ts +1 -1
package/src/triage-gate.ts
CHANGED
|
@@ -3,7 +3,7 @@ import {launchWithOptionalWatch} from './agent-launch.js';
|
|
|
3
3
|
import {extractJsonObjectSpan} from './verdict-json.js';
|
|
4
4
|
|
|
5
5
|
/**
|
|
6
|
-
* The **TRIAGE auto-disposition GATE** (
|
|
6
|
+
* The **TRIAGE auto-disposition GATE** (spec `advance-loop`, task
|
|
7
7
|
* `advance-rung-triage`, US #17) — the CONSERVATIVE, `observationTriage: 'auto'`-
|
|
8
8
|
* gated exception to the question-gated default. On `classify=triage-observation`
|
|
9
9
|
* AND `observationTriage` resolved to `'auto'`, the engine asks this gate whether
|
package/src/triage-persist.ts
CHANGED
|
@@ -12,7 +12,7 @@ import type {TriageAutoKind} from './triage-gate.js';
|
|
|
12
12
|
import {renderTaskBody, renderSpecBody} from './buildable-body.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
|
-
* The engine-owned TRIAGE PERSIST (
|
|
15
|
+
* The engine-owned TRIAGE PERSIST (spec `advance-loop`, task `advance-rung-triage`,
|
|
16
16
|
* US #16/17/24/30) — the half of the observation-triage rung the ENGINE owns (the
|
|
17
17
|
* triage gate JUDGES, the engine ACTS). It is the SIBLING of `surface-persist.ts`
|
|
18
18
|
* (the surface rung's persist) and `apply-persist.ts` (the apply rung's persist),
|
|
@@ -232,7 +232,7 @@ export interface PromoteObservationOptions {
|
|
|
232
232
|
* triage-local {@link createItemThroughCas} writer (one local commit through the
|
|
233
233
|
* CAS) — NOT intake's branch+integrate band — so the CAS-loser-backs-off
|
|
234
234
|
* guarantee and the same-commit note deletion are uniform across the two routes.
|
|
235
|
-
* MIGRATE step (
|
|
235
|
+
* MIGRATE step (spec `prd-to-spec-vocabulary-cutover-and-migration-command`): the
|
|
236
236
|
* produced VALUE is `'spec'` (the verdict outcome renamed from `'prd'`).
|
|
237
237
|
*/
|
|
238
238
|
artifact?: 'task' | 'spec';
|
|
@@ -287,22 +287,22 @@ export interface PromoteObservationResult {
|
|
|
287
287
|
|
|
288
288
|
/**
|
|
289
289
|
* Promote an ANSWERED observation to a NEW, SELF-CONTAINED artifact (US #1/#3/#8
|
|
290
|
-
* for the task route; US #4/#9 for the
|
|
290
|
+
* for the task route; US #4/#9 for the SPEC route): CAS-create the new item keyed
|
|
291
291
|
* on the NEW item's identity (its target path), with the observation note + its
|
|
292
292
|
* answered sidecar `git rm`-ed IN THE SAME atomic commit. Promote is ONE commit
|
|
293
293
|
* (create + delete).
|
|
294
294
|
*
|
|
295
295
|
* The artifact TYPE (`options.artifact`) selects the target + body shape: `'task'`
|
|
296
296
|
* (default) mints `work/tasks/ready/<slug>.md`; `'prd'` mints
|
|
297
|
-
* `work/
|
|
297
|
+
* `work/specs/proposed/<slug>.md` (SPEC staging — a human later promotes it to
|
|
298
298
|
* `ready/`). BOTH routes use the SAME triage-local {@link createItemThroughCas}
|
|
299
299
|
* writer (NOT intake's `switchToWorkBranch`/`performIntegration` branch+integrate
|
|
300
300
|
* band, which is intake's standalone front door): one create/integrate surface for
|
|
301
|
-
* triage, the CAS-loser-backs-off guarantee uniform across task and
|
|
301
|
+
* triage, the CAS-loser-backs-off guarantee uniform across task and SPEC promotion.
|
|
302
302
|
*
|
|
303
303
|
* The minted body is built FROM the observation (see {@link buildPromotedBody}):
|
|
304
304
|
* its mechanism + fix prose is carried into the artifact's lead section (`## What
|
|
305
|
-
* to build` for a task, `## Problem Statement` for a
|
|
305
|
+
* to build` for a task, `## Problem Statement` for a SPEC), and its
|
|
306
306
|
* `## Open questions` scoping is transcribed into the new item's own
|
|
307
307
|
* `## Open questions` block with `needsAnswers` set when questions remain (cleared
|
|
308
308
|
* when none do) — so an agent can build from the artifact ALONE and no decision
|
|
@@ -398,10 +398,10 @@ export async function promoteObservation(
|
|
|
398
398
|
*
|
|
399
399
|
* The artifact TYPE selects the frontmatter + lead heading: a `task` gets
|
|
400
400
|
* `## What to build` + `blockedBy: []` + a `## Prompt` (the buildable-task shape);
|
|
401
|
-
* a `prd` gets `## Problem Statement` (the
|
|
402
|
-
* a
|
|
401
|
+
* a `prd` gets `## Problem Statement` (the SPEC document shape, with no `blockedBy` —
|
|
402
|
+
* a SPEC is not a blockable task — and no `## Prompt`, since a SPEC is not
|
|
403
403
|
* dispatched by `do`/`run`). BOTH carry the SAME transcribed mechanism prose +
|
|
404
|
-
* open-question block, so a
|
|
404
|
+
* open-question block, so a SPEC minted into `proposed/` is just as self-contained
|
|
405
405
|
* as a task.
|
|
406
406
|
*
|
|
407
407
|
* The `## Prompt` (task only) is the STRUCTURAL dispatchability the validator
|
|
@@ -409,9 +409,9 @@ export async function promoteObservation(
|
|
|
409
409
|
* dispatched build throws "has no '## Prompt' section". The body BELOW the
|
|
410
410
|
* frontmatter (lead section + mechanism prose + optional `## Open questions` +
|
|
411
411
|
* the task-only `## Prompt`) is rendered by the SHARED owner of the
|
|
412
|
-
* buildable-task/
|
|
412
|
+
* buildable-task/SPEC schema, {@link renderTaskBody} / {@link renderSpecBody}
|
|
413
413
|
* (`buildable-body.ts`), so the producer and the consumer cannot drift apart
|
|
414
|
-
* (
|
|
414
|
+
* (spec `centralize-buildable-task-renderer-shared-by-intake-and-promotion`,
|
|
415
415
|
* US #3/#5/#6). This function owns only the FRONTMATTER writer; the section
|
|
416
416
|
* skeleton lives in the one renderer. The empty-mechanism `## Prompt` seed is
|
|
417
417
|
* passed EXPLICITLY (`Build the task '<slug>', described above.`) so promotion's
|
|
@@ -434,8 +434,8 @@ export async function promoteObservation(
|
|
|
434
434
|
* fails with `has no '## Prompt' section` (the `extractPromptSection`/`resolveTask`
|
|
435
435
|
* guard in `prompt.ts`). This is the robust backstop that closes that hole
|
|
436
436
|
* regardless of agent compliance: for a TASK, if the body has no `## Prompt`
|
|
437
|
-
* heading, append a seeded one (blockquoted, matching the renderer's shape). A
|
|
438
|
-
* is left UNTOUCHED — a
|
|
437
|
+
* heading, append a seeded one (blockquoted, matching the renderer's shape). A SPEC
|
|
438
|
+
* is left UNTOUCHED — a SPEC is a north-star doc, not dispatched by `do`/`run`, and carries no
|
|
439
439
|
* `## Prompt` by design.
|
|
440
440
|
*/
|
|
441
441
|
function ensureTaskDispatchable(
|
|
@@ -472,7 +472,7 @@ function buildPromotedBody(
|
|
|
472
472
|
`title: ${slug}`,
|
|
473
473
|
`slug: ${slug}`,
|
|
474
474
|
`needsAnswers: ${hasQuestions ? 'true' : 'false'}`,
|
|
475
|
-
// A
|
|
475
|
+
// A SPEC is a north-star doc, not a blockable task — only the task shape carries
|
|
476
476
|
// `blockedBy`.
|
|
477
477
|
...(artifact === 'spec' ? [] : ['blockedBy: []']),
|
|
478
478
|
'---',
|
|
@@ -488,8 +488,8 @@ function buildPromotedBody(
|
|
|
488
488
|
// no leading blank. Do NOT move the separator into the renderer.
|
|
489
489
|
const fenceToBody = frontmatter.join('\n') + '\n\n';
|
|
490
490
|
// The body BELOW the frontmatter is rendered by the SHARED schema owner so the
|
|
491
|
-
// section skeleton has one home, not two (
|
|
492
|
-
// `centralize-buildable-task-renderer-shared-by-intake-and-promotion`). A
|
|
491
|
+
// section skeleton has one home, not two (spec
|
|
492
|
+
// `centralize-buildable-task-renderer-shared-by-intake-and-promotion`). A SPEC
|
|
493
493
|
// goes through `renderSpecBody` (no `## Prompt`); a task through
|
|
494
494
|
// `renderTaskBody` (always a `## Prompt`).
|
|
495
495
|
if (artifact === 'spec') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The `install-ci` VERIFY-WORKFLOW capability (
|
|
2
|
+
* The `install-ci` VERIFY-WORKFLOW capability (spec
|
|
3
3
|
* `land-time-reverify-and-parallel-merge-ceiling`, task
|
|
4
4
|
* `install-ci-tier1-branch-protection`; Story 11 — the Tier-1 GitHub ceiling).
|
|
5
5
|
* Emits a small `verify.yml` workflow whose ONLY job is `verify` and runs on
|
|
@@ -49,7 +49,7 @@ export const VERIFY_WORKFLOW_PATH = 'workflows/verify.yml';
|
|
|
49
49
|
*/
|
|
50
50
|
export function generateVerifyWorkflow(_config: ResolvedCIConfig): string {
|
|
51
51
|
return `\
|
|
52
|
-
# dorfl — the VERIFY workflow (Tier-1 GitHub ceiling;
|
|
52
|
+
# dorfl — the VERIFY workflow (Tier-1 GitHub ceiling; spec
|
|
53
53
|
# land-time-reverify-and-parallel-merge-ceiling, task
|
|
54
54
|
# install-ci-tier1-branch-protection). EMITTED by \`dorfl install-ci\`; the
|
|
55
55
|
# human commits it. DO NOT hand-edit a copy — re-run install-ci to upgrade.
|
package/src/work-layout.ts
CHANGED
|
@@ -5,7 +5,7 @@ import {join} from 'node:path';
|
|
|
5
5
|
* folder-name union/array, the item-scan predicate, and the prefix-task helpers
|
|
6
6
|
* used across `src/`.
|
|
7
7
|
*
|
|
8
|
-
* This is Phase 0 of the `folder-taxonomy-reorg-and-rename`
|
|
8
|
+
* This is Phase 0 of the `folder-taxonomy-reorg-and-rename` spec — the de-risking
|
|
9
9
|
* checkpoint. EVERY raw work-path literal (`join(cwd, 'work', ...)`, `'work/<folder>'`,
|
|
10
10
|
* `'work/<folder>/'.length` prefix-tasks) and EVERY folder-name union/array that
|
|
11
11
|
* used to be scattered across ~70 files now routes through here. The NAMES are
|
|
@@ -16,7 +16,7 @@ import {join} from 'node:path';
|
|
|
16
16
|
* {@link WORK_FOLDER_NAME} (and `git mv` the on-disk folders) and NOTHING ELSE.
|
|
17
17
|
* Call sites reference folders by their SYMBOLIC key (`'tasks-ready'`,
|
|
18
18
|
* `'specs-ready'`, …), never by a raw string, so a folder-VALUE flip never
|
|
19
|
-
* re-touches a single call site (a KEY rename, e.g. the
|
|
19
|
+
* re-touches a single call site (a KEY rename, e.g. the spec→spec cutover below,
|
|
20
20
|
* is a mechanical relabel of the key literal at each site — behaviour-preserving).
|
|
21
21
|
*
|
|
22
22
|
* Domain note (crown-jewel invariant): a `work/` tree is a set of governance
|
|
@@ -65,17 +65,19 @@ export const WORK_ROOT = 'work' as const;
|
|
|
65
65
|
* and `needs-attention` (both are really lock-ref state, NOT durable folders;
|
|
66
66
|
* routed here only so no reader hand-writes the literal).
|
|
67
67
|
*
|
|
68
|
-
* NOTE on the
|
|
68
|
+
* NOTE on the spec→spec vocabulary cutover
|
|
69
69
|
* (`rename-spec-work-layout-and-folders`, migrate-batch 1 of
|
|
70
70
|
* `prd-to-spec-vocabulary-cutover-and-migration-command`): the spec-regime KEYS
|
|
71
71
|
* below now read in the `spec` vocabulary (`specs-proposed`/`specs-ready`/
|
|
72
72
|
* `specs-tasked`/`specs-dropped`) AND their VALUES flip to `work/specs/*` in
|
|
73
|
-
* lockstep with the on-disk `git mv work/
|
|
73
|
+
* lockstep with the on-disk `git mv work/specs/* → work/specs/*`. Unlike the earlier
|
|
74
74
|
* key-only relabel, this batch moves the folders too, so the KEY and VALUE change
|
|
75
75
|
* together and the self-renaming-folder guard stays green. The KEY rename is a
|
|
76
76
|
* mechanical relabel of the key literal at each call site (behaviour-preserving);
|
|
77
|
-
* the frontmatter `prd:` field
|
|
78
|
-
*
|
|
77
|
+
* the legacy frontmatter `prd:` field survives ONLY as un-migrated on-disk DATA the
|
|
78
|
+
* `dorfl prd-to-spec` command textually converts to `spec:` (HARD CUTOVER: it is no
|
|
79
|
+
* longer READ by `parseFrontmatter` — `spec:` is the only read key); the
|
|
80
|
+
* `--specs-land-in` flag/`specsLandIn` config + the
|
|
79
81
|
* `Spec*` symbols were completed by the later batches + the contract task. The
|
|
80
82
|
* folder-as-status invariant is unchanged.
|
|
81
83
|
*/
|
|
@@ -193,7 +195,7 @@ export function isWorkItemFile(name: string): boolean {
|
|
|
193
195
|
* order: `in-progress` over `tasks-ready`, with `done` appended only behind the
|
|
194
196
|
* stranded-continue gate. Order is load-bearing — kept exactly as the original
|
|
195
197
|
* union/array. (`tasks-backlog` is NOT in this DEFAULT order: it is appended at
|
|
196
|
-
* the LOWEST priority ONLY behind the explicit `--allow-backlog` flag,
|
|
198
|
+
* the LOWEST priority ONLY behind the explicit `--allow-backlog` flag, spec
|
|
197
199
|
* `do-allow-backlog-drive-staged-tasks-without-promotion` — see
|
|
198
200
|
* {@link TaskResolutionFolder}.)
|
|
199
201
|
*/
|
package/src/workspace.ts
CHANGED
|
@@ -156,7 +156,7 @@ export interface CreateJobOptions {
|
|
|
156
156
|
slug: string;
|
|
157
157
|
/**
|
|
158
158
|
* The item TYPE — `'task'` (build) or `'prd'` (tasking) — namespacing the
|
|
159
|
-
* work branch via {@link workBranchRef} so a same-slug task and
|
|
159
|
+
* work branch via {@link workBranchRef} so a same-slug task and spec never
|
|
160
160
|
* collide. Defaults to `'task'`.
|
|
161
161
|
*/
|
|
162
162
|
type?: SlugNamespace;
|