dorfl 0.1.2 → 0.2.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.
- package/dist/advance-drivers.d.ts +1 -1
- package/dist/advance-drivers.d.ts.map +1 -1
- package/dist/advance-drivers.js +15 -3
- package/dist/advance-drivers.js.map +1 -1
- package/dist/advance-lifecycle-template.d.ts.map +1 -1
- package/dist/advance-lifecycle-template.js +76 -4
- package/dist/advance-lifecycle-template.js.map +1 -1
- package/dist/advance-treeless-publish.d.ts +23 -0
- package/dist/advance-treeless-publish.d.ts.map +1 -1
- package/dist/advance-treeless-publish.js +41 -0
- package/dist/advance-treeless-publish.js.map +1 -1
- package/dist/advance.d.ts +59 -7
- package/dist/advance.d.ts.map +1 -1
- package/dist/advance.js +389 -82
- package/dist/advance.js.map +1 -1
- package/dist/advancing-lock.d.ts +30 -2
- package/dist/advancing-lock.d.ts.map +1 -1
- package/dist/advancing-lock.js +50 -0
- package/dist/advancing-lock.js.map +1 -1
- package/dist/agent-launch.d.ts +12 -0
- package/dist/agent-launch.d.ts.map +1 -1
- package/dist/agent-launch.js +22 -12
- package/dist/agent-launch.js.map +1 -1
- package/dist/agent-stop.d.ts +40 -2
- package/dist/agent-stop.d.ts.map +1 -1
- package/dist/agent-stop.js +30 -2
- package/dist/agent-stop.js.map +1 -1
- package/dist/apply-decide.d.ts +17 -3
- package/dist/apply-decide.d.ts.map +1 -1
- package/dist/apply-decide.js +36 -7
- package/dist/apply-decide.js.map +1 -1
- package/dist/apply-merge-action.d.ts +17 -5
- package/dist/apply-merge-action.d.ts.map +1 -1
- package/dist/apply-merge-action.js +43 -8
- package/dist/apply-merge-action.js.map +1 -1
- package/dist/apply-persist.d.ts +57 -26
- package/dist/apply-persist.d.ts.map +1 -1
- package/dist/apply-persist.js +166 -37
- package/dist/apply-persist.js.map +1 -1
- package/dist/apply-stuck-action.d.ts +151 -0
- package/dist/apply-stuck-action.d.ts.map +1 -0
- package/dist/apply-stuck-action.js +125 -0
- package/dist/apply-stuck-action.js.map +1 -0
- package/dist/brand.d.ts +12 -1
- package/dist/brand.d.ts.map +1 -1
- package/dist/brand.js +2 -1
- package/dist/brand.js.map +1 -1
- package/dist/cli-spinner.d.ts +1 -1
- package/dist/cli-spinner.js +1 -1
- package/dist/cli.d.ts +10 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +320 -63
- package/dist/cli.js.map +1 -1
- package/dist/close-job-template.js +1 -1
- package/dist/complete.d.ts +6 -3
- package/dist/complete.d.ts.map +1 -1
- package/dist/complete.js +91 -37
- package/dist/complete.js.map +1 -1
- package/dist/config.d.ts +55 -9
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +56 -4
- package/dist/config.js.map +1 -1
- package/dist/continue-branch.d.ts.map +1 -1
- package/dist/continue-branch.js +22 -0
- package/dist/continue-branch.js.map +1 -1
- package/dist/decision-engine.d.ts +38 -10
- package/dist/decision-engine.d.ts.map +1 -1
- package/dist/decision-engine.js +10 -6
- package/dist/decision-engine.js.map +1 -1
- package/dist/do-autopick.d.ts.map +1 -1
- package/dist/do-autopick.js +11 -1
- package/dist/do-autopick.js.map +1 -1
- package/dist/do-config.d.ts +1 -1
- package/dist/do.d.ts +49 -56
- package/dist/do.d.ts.map +1 -1
- package/dist/do.js +419 -30
- package/dist/do.js.map +1 -1
- package/dist/env-config.d.ts.map +1 -1
- package/dist/env-config.js +12 -4
- package/dist/env-config.js.map +1 -1
- package/dist/failure-cause.d.ts +3 -2
- package/dist/failure-cause.d.ts.map +1 -1
- package/dist/failure-cause.js +28 -1
- package/dist/failure-cause.js.map +1 -1
- package/dist/format.d.ts +6 -6
- package/dist/format.d.ts.map +1 -1
- package/dist/format.js +10 -27
- package/dist/format.js.map +1 -1
- package/dist/frontmatter.d.ts +16 -4
- package/dist/frontmatter.d.ts.map +1 -1
- package/dist/frontmatter.js +27 -1
- package/dist/frontmatter.js.map +1 -1
- package/dist/gc.d.ts +65 -6
- package/dist/gc.d.ts.map +1 -1
- package/dist/gc.js +126 -9
- package/dist/gc.js.map +1 -1
- package/dist/github.d.ts +14 -0
- package/dist/github.d.ts.map +1 -1
- package/dist/github.js +73 -0
- package/dist/github.js.map +1 -1
- package/dist/harness.d.ts +25 -0
- package/dist/harness.d.ts.map +1 -1
- package/dist/harness.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/install-ci-branch-protection.d.ts +132 -38
- package/dist/install-ci-branch-protection.d.ts.map +1 -1
- package/dist/install-ci-branch-protection.js +190 -48
- package/dist/install-ci-branch-protection.js.map +1 -1
- package/dist/install-ci-core.d.ts +21 -1
- package/dist/install-ci-core.d.ts.map +1 -1
- package/dist/install-ci-core.js +10 -3
- package/dist/install-ci-core.js.map +1 -1
- package/dist/install-ci-github.d.ts +32 -0
- package/dist/install-ci-github.d.ts.map +1 -1
- package/dist/install-ci-github.js +73 -0
- package/dist/install-ci-github.js.map +1 -1
- package/dist/install-skills.d.ts +123 -0
- package/dist/install-skills.d.ts.map +1 -0
- package/dist/install-skills.js +100 -0
- package/dist/install-skills.js.map +1 -0
- package/dist/intake-trigger-template.js +1 -1
- package/dist/intake.d.ts +17 -4
- package/dist/intake.d.ts.map +1 -1
- package/dist/intake.js +23 -7
- package/dist/intake.js.map +1 -1
- package/dist/integration-core.d.ts +10 -7
- package/dist/integration-core.d.ts.map +1 -1
- package/dist/integration-core.js +174 -60
- package/dist/integration-core.js.map +1 -1
- package/dist/integrator.d.ts +1 -1
- package/dist/integrator.d.ts.map +1 -1
- package/dist/integrator.js +19 -3
- package/dist/integrator.js.map +1 -1
- package/dist/isolation.d.ts +2 -2
- package/dist/isolation.d.ts.map +1 -1
- package/dist/isolation.js +9 -0
- package/dist/isolation.js.map +1 -1
- package/dist/item-lock.d.ts +196 -129
- package/dist/item-lock.d.ts.map +1 -1
- package/dist/item-lock.js +329 -254
- package/dist/item-lock.js.map +1 -1
- package/dist/ledger-write.d.ts +31 -26
- package/dist/ledger-write.d.ts.map +1 -1
- package/dist/ledger-write.js +100 -122
- package/dist/ledger-write.js.map +1 -1
- package/dist/lifecycle-gather.d.ts +17 -0
- package/dist/lifecycle-gather.d.ts.map +1 -1
- package/dist/lifecycle-gather.js +7 -1
- package/dist/lifecycle-gather.js.map +1 -1
- package/dist/lifecycle-pools.d.ts +40 -3
- package/dist/lifecycle-pools.d.ts.map +1 -1
- package/dist/lifecycle-pools.js +26 -6
- package/dist/lifecycle-pools.js.map +1 -1
- package/dist/merge-question-surfacer.d.ts +15 -1
- package/dist/merge-question-surfacer.d.ts.map +1 -1
- package/dist/merge-question-surfacer.js +18 -3
- package/dist/merge-question-surfacer.js.map +1 -1
- package/dist/migrate-stuck-locks.d.ts +129 -0
- package/dist/migrate-stuck-locks.d.ts.map +1 -0
- package/dist/migrate-stuck-locks.js +355 -0
- package/dist/migrate-stuck-locks.js.map +1 -0
- package/dist/needs-attention.d.ts +293 -16
- package/dist/needs-attention.d.ts.map +1 -1
- package/dist/needs-attention.js +532 -57
- package/dist/needs-attention.js.map +1 -1
- package/dist/orphan-sidecar.d.ts +8 -4
- package/dist/orphan-sidecar.d.ts.map +1 -1
- package/dist/orphan-sidecar.js +35 -2
- package/dist/orphan-sidecar.js.map +1 -1
- package/dist/pi-harness.d.ts +16 -0
- package/dist/pi-harness.d.ts.map +1 -1
- package/dist/pi-harness.js +82 -2
- package/dist/pi-harness.js.map +1 -1
- package/dist/placement.d.ts +3 -3
- package/dist/placement.js +1 -1
- package/dist/prd-to-spec.d.ts.map +1 -1
- package/dist/prd-to-spec.js +9 -5
- package/dist/prd-to-spec.js.map +1 -1
- package/dist/protocol/CLAIM-PROTOCOL.md +17 -10
- package/dist/protocol/REVIEW-PROTOCOL.md +4 -1
- package/dist/protocol/SURFACE-PROTOCOL.md +16 -2
- package/dist/protocol/TASKING-PROTOCOL.md +3 -1
- package/dist/protocol/WORK-CONTRACT.md +22 -18
- package/dist/protocol/task-template.md +1 -1
- package/dist/reap-branches.d.ts +12 -9
- package/dist/reap-branches.d.ts.map +1 -1
- package/dist/reap-branches.js +25 -7
- package/dist/reap-branches.js.map +1 -1
- package/dist/recover-isolated.d.ts +12 -0
- package/dist/recover-isolated.d.ts.map +1 -1
- package/dist/recover-isolated.js +5 -0
- package/dist/recover-isolated.js.map +1 -1
- package/dist/repo-config.d.ts +23 -2
- package/dist/repo-config.d.ts.map +1 -1
- package/dist/repo-config.js +53 -7
- package/dist/repo-config.js.map +1 -1
- package/dist/repo-mirror.d.ts.map +1 -1
- package/dist/repo-mirror.js +18 -2
- package/dist/repo-mirror.js.map +1 -1
- package/dist/review-verdict.js +1 -1
- package/dist/review-verdict.js.map +1 -1
- package/dist/run.d.ts +1 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +54 -19
- package/dist/run.js.map +1 -1
- package/dist/scan.d.ts +17 -8
- package/dist/scan.d.ts.map +1 -1
- package/dist/scan.js +22 -8
- package/dist/scan.js.map +1 -1
- package/dist/select-priority.d.ts +2 -2
- package/dist/select-priority.js +1 -1
- package/dist/select-priority.js.map +1 -1
- package/dist/sidecar-apply.js +1 -1
- package/dist/sidecar-apply.js.map +1 -1
- package/dist/sidecar.d.ts +45 -10
- package/dist/sidecar.d.ts.map +1 -1
- package/dist/sidecar.js +82 -2
- package/dist/sidecar.js.map +1 -1
- package/dist/skills/answer-questions/SKILL.md +89 -0
- package/dist/skills/capture-signal/SKILL.md +52 -0
- package/dist/skills/convert-from-prd-to-spec/SKILL.md +90 -0
- package/dist/skills/drive-tasks/SKILL.md +218 -0
- package/dist/skills/from-idea/SKILL.md +83 -0
- package/dist/skills/merge-prs/SKILL.md +70 -0
- package/dist/skills/orchestrate/SKILL.md +101 -0
- package/dist/skills/promote/SKILL.md +35 -0
- package/dist/skills/review/SKILL.md +16 -0
- package/dist/skills/setup/SKILL.md +258 -0
- package/dist/skills/setup/protocol/ADR-FORMAT.md +47 -0
- package/dist/skills/setup/protocol/CLAIM-PROTOCOL.md +224 -0
- package/dist/skills/setup/protocol/REVIEW-PROTOCOL.md +122 -0
- package/dist/skills/setup/protocol/SURFACE-PROTOCOL.md +135 -0
- package/dist/skills/setup/protocol/TASKING-PROTOCOL.md +124 -0
- package/dist/skills/setup/protocol/WORK-CONTRACT.md +280 -0
- package/dist/skills/setup/protocol/spec-template.md +71 -0
- package/dist/skills/setup/protocol/task-template.md +65 -0
- package/dist/skills/surface-questions/SKILL.md +16 -0
- package/dist/skills/to-spec/SKILL.md +34 -0
- package/dist/skills/to-task/SKILL.md +19 -0
- package/dist/skills/triage-observations/SKILL.md +78 -0
- package/dist/skills/work/SKILL.md +51 -0
- package/dist/slug-namespace.d.ts +5 -5
- package/dist/slug-namespace.js +5 -5
- package/dist/slug-namespace.js.map +1 -1
- package/dist/spec-complete.d.ts.map +1 -1
- package/dist/spec-complete.js +2 -3
- package/dist/spec-complete.js.map +1 -1
- package/dist/start.d.ts.map +1 -1
- package/dist/start.js +51 -57
- package/dist/start.js.map +1 -1
- package/dist/surface-gate.d.ts.map +1 -1
- package/dist/surface-gate.js +10 -3
- package/dist/surface-gate.js.map +1 -1
- package/dist/surface-persist.js +1 -1
- package/dist/surface-persist.js.map +1 -1
- package/dist/tasker-review-loop.d.ts +4 -3
- package/dist/tasker-review-loop.d.ts.map +1 -1
- package/dist/tasker-review-loop.js.map +1 -1
- package/dist/tasking-lock.d.ts +2 -2
- package/dist/tasking-lock.d.ts.map +1 -1
- package/dist/tasking-lock.js +53 -32
- package/dist/tasking-lock.js.map +1 -1
- package/dist/tasking.d.ts +40 -6
- package/dist/tasking.d.ts.map +1 -1
- package/dist/tasking.js +224 -12
- package/dist/tasking.js.map +1 -1
- package/dist/triage-persist.d.ts +10 -6
- package/dist/triage-persist.d.ts.map +1 -1
- package/dist/triage-persist.js +34 -4
- package/dist/triage-persist.js.map +1 -1
- package/dist/vendor/incur/agents.d.ts +58 -0
- package/dist/vendor/incur/agents.d.ts.map +1 -0
- package/dist/vendor/incur/agents.js +343 -0
- package/dist/vendor/incur/agents.js.map +1 -0
- package/dist/verify-workflow-template.js +1 -1
- package/dist/watch-session.d.ts +11 -3
- package/dist/watch-session.d.ts.map +1 -1
- package/dist/watch-session.js +94 -7
- package/dist/watch-session.js.map +1 -1
- package/dist/work-layout.d.ts +7 -3
- package/dist/work-layout.d.ts.map +1 -1
- package/dist/work-layout.js +6 -3
- package/dist/work-layout.js.map +1 -1
- package/dist/workspace.d.ts +1 -1
- package/package.json +2 -2
- package/src/advance-drivers.ts +16 -3
- package/src/advance-lifecycle-template.ts +89 -4
- package/src/advance-treeless-publish.ts +45 -0
- package/src/advance.ts +467 -87
- package/src/advancing-lock.ts +96 -1
- package/src/agent-launch.ts +37 -12
- package/src/agent-stop.ts +60 -2
- package/src/apply-decide.ts +36 -7
- package/src/apply-merge-action.ts +45 -7
- package/src/apply-persist.ts +228 -54
- package/src/apply-stuck-action.ts +260 -0
- package/src/brand.ts +14 -2
- package/src/cli-spinner.ts +1 -1
- package/src/cli.ts +401 -70
- package/src/close-job-template.ts +1 -1
- package/src/complete.ts +110 -52
- package/src/config.ts +107 -13
- package/src/continue-branch.ts +22 -0
- package/src/decision-engine.ts +55 -17
- package/src/do-autopick.ts +12 -1
- package/src/do-config.ts +1 -1
- package/src/do.ts +511 -38
- package/src/env-config.ts +12 -4
- package/src/failure-cause.ts +30 -1
- package/src/format.ts +10 -30
- package/src/frontmatter.ts +35 -5
- package/src/gc.ts +172 -9
- package/src/github.ts +78 -0
- package/src/harness.ts +25 -0
- package/src/index.ts +10 -0
- package/src/install-ci-branch-protection.ts +282 -57
- package/src/install-ci-core.ts +30 -3
- package/src/install-ci-github.ts +86 -0
- package/src/install-skills.ts +166 -0
- package/src/intake-trigger-template.ts +1 -1
- package/src/intake.ts +46 -11
- package/src/integration-core.ts +199 -65
- package/src/integrator.ts +22 -9
- package/src/isolation.ts +11 -2
- package/src/item-lock.ts +485 -341
- package/src/ledger-write.ts +135 -150
- package/src/lifecycle-gather.ts +29 -6
- package/src/lifecycle-pools.ts +67 -9
- package/src/merge-question-surfacer.ts +28 -4
- package/src/migrate-stuck-locks.ts +451 -0
- package/src/needs-attention.ts +857 -84
- package/src/orphan-sidecar.ts +47 -6
- package/src/pi-harness.ts +82 -2
- package/src/placement.ts +3 -3
- package/src/prd-to-spec.ts +13 -5
- package/src/reap-branches.ts +38 -14
- package/src/recover-isolated.ts +17 -0
- package/src/repo-config.ts +55 -6
- package/src/repo-mirror.ts +23 -1
- package/src/review-verdict.ts +1 -1
- package/src/run.ts +64 -18
- package/src/scan.ts +22 -8
- package/src/select-priority.ts +3 -3
- package/src/sidecar-apply.ts +1 -1
- package/src/sidecar.ts +138 -11
- package/src/slug-namespace.ts +7 -7
- package/src/spec-complete.ts +2 -3
- package/src/start.ts +53 -59
- package/src/surface-gate.ts +10 -3
- package/src/surface-persist.ts +1 -1
- package/src/tasker-review-loop.ts +4 -3
- package/src/tasking-lock.ts +52 -36
- package/src/tasking.ts +261 -17
- package/src/triage-persist.ts +56 -12
- package/src/vendor/incur/LICENSE +21 -0
- package/src/vendor/incur/README.md +19 -0
- package/src/vendor/incur/agents.ts +392 -0
- package/src/verify-workflow-template.ts +1 -1
- package/src/watch-session.ts +102 -7
- package/src/work-layout.ts +6 -3
- package/src/workspace.ts +1 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: triage-observations
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
description: 'Drain the work/notes/observations/ inbox one note at a time, human-in-the-loop: investigate each, recommend an outcome, the human decides, execute.'
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Triage observations
|
|
8
|
+
|
|
9
|
+
Drain `work/notes/observations/` toward a **live-only inbox**: every note that survives is still a useful signal; everything else is discharged. You are the investigator + recommender; the **human owns every call**.
|
|
10
|
+
|
|
11
|
+
> An observation is a **spotted, unverified, often-stale signal** — NOT ground truth. The whole value of this loop is _investigating before judging_: "this is surely irrelevant now" must become a real check against current code, which sometimes agrees and sometimes doesn't.
|
|
12
|
+
|
|
13
|
+
## The loop (one observation at a time)
|
|
14
|
+
|
|
15
|
+
Default to **alphabetical order** (the folder listing — `ls work/notes/observations/`), so a full pass deterministically covers the whole inbox with nothing skipped or repeated. The human may override with their own order or name specific files; when they do, follow that and do NOT jump ahead or batch. For each:
|
|
16
|
+
|
|
17
|
+
1. **READ** the observation in full.
|
|
18
|
+
2. **INVESTIGATE** its claim against _current reality_ — read the actual code, tasks, specs, ADRs, and protocol docs it references. Confirm every file/line pointer (repos drift; paths move — e.g. a monorepo's `packages/*/src/`). Establish: is this signal still LIVE? **Also read the item's own open-question surface**: any `work/questions/<type>-<slug>.md` sidecar for this note and the source's `needsAnswers` / `## Open questions` state. An exact-item question match is cheap and required (the note may already be mid-resolution, which changes the call). Topical overlap with ANOTHER item's open questions is a signal to surface to the human, never to auto-decide on.
|
|
19
|
+
3. **RECOMMEND** exactly one outcome (the recommendation set below), with reasoning grounded in what you found — not a guess.
|
|
20
|
+
4. **WAIT** for the human's decision. Never auto-decide. Surface any genuine judgement residue (e.g. "is this spec's untasked state intentional?") as an explicit question.
|
|
21
|
+
5. **EXECUTE** the chosen outcome. For light ones (delete, small amend) do the write + **COMMIT** (scoped — one logical change per commit) before moving on. For heavy ones (make-task, non-trivial fold-into-ADR) do NOT build inline — hand off a copy-pasteable fresh-context prompt (see below) and move on; the note is deleted by that follow-on work, not here.
|
|
22
|
+
6. **UPDATE** a running checklist of outcomes so the session has an at-a-glance summary.
|
|
23
|
+
|
|
24
|
+
## The recommendation set
|
|
25
|
+
|
|
26
|
+
This is THIS skill's own human-workflow recommendation set — the small menu of things a human can decide to do with an investigated note. It is NOT the engine's old `disposition=` token vocabulary (that token round-trip is retired: an answered question is now read by the agentic apply decision, not routed through a stamped token). Here you simply recommend one of these in plain terms and the human ratifies it.
|
|
27
|
+
|
|
28
|
+
| recommendation | when | execution |
|
|
29
|
+
| --- | --- | --- |
|
|
30
|
+
| **leave** | still a live, useful signal; just not acting now | nothing (note stays) |
|
|
31
|
+
| **delete** | no longer a live signal — its work landed, the defect is fixed, or it was promoted into a self-contained task/ADR | the direct delete: `git rm` the file (or `dorfl drop obs:<slug>`, which also removes any question sidecar), reason in the commit message |
|
|
32
|
+
| **make a task** | there is buildable residue worth promoting | hand off a fresh-context prompt (below); do NOT write the task inline |
|
|
33
|
+
| **amend** | still live but inaccurate/stale; the _record_ should be corrected | edit the note (observations are append-only in spirit — prefer an `## Update` over rewriting what was seen) — small in-loop edits are fine; hand off if it needs real investigation |
|
|
34
|
+
| **fold-into-ADR / code comment** | the durable _why_ belongs in an ADR or a code comment, not the inbox | hand off a fresh-context prompt (below) when non-trivial; do the note + delete inline only when it is a genuine one-liner |
|
|
35
|
+
|
|
36
|
+
A note's liveness test is **"is this still a useful signal?"** — NOT "has the work it points at completed?".
|
|
37
|
+
|
|
38
|
+
> **Throwing a signal away is a DIRECT delete, not a token.** When the call is to discard a note, you (or the human) just delete it: `git rm` the file, or `dorfl drop <identity>` (the one-line CLI helper, which removes the source AND its question sidecar in one revertible commit with the reason in the message). It does NOT round-trip through the decision engine — there is no `delete`/`dropped` token to stamp. Promotion is the mirror: minting a self-contained task/spec/ADR that carries the signal, after which the note discharges by deletion.
|
|
39
|
+
|
|
40
|
+
## Hand off heavy work as a fresh-context prompt
|
|
41
|
+
|
|
42
|
+
The triage loop **decides**; it does NOT carry out the follow-on build inline. When a recommendation needs real work, produce a **copy-pasteable prompt** for the human to run in a FRESH context, and STOP there (don't also try to do the work).
|
|
43
|
+
|
|
44
|
+
> **CRITICAL — match the prompt's DELIVERABLE to the outcome, not to the feature.** A **make-task** hand-off must produce a prompt whose deliverable is **a markdown TASK FILE in `work/tasks/backlog/`** (per the task template) — NOT a prompt that implements the feature/fixes the bug in code. The observation is being _promoted into a tracked work item_, not built. A prompt that says "implement X / fix Y / write the code and tests" is the WRONG output here — that conflates promoting the work with doing it. The task itself is the deliverable; building it is a separate, later step the task will drive. (Likewise a **fold-into-ADR** hand-off delivers an ADR edit, not code.)
|
|
45
|
+
|
|
46
|
+
Rules for the prompt:
|
|
47
|
+
|
|
48
|
+
- **Right deliverable.** State it explicitly at the top: "Write a work task at `work/tasks/backlog/<slug>.md` following `work/protocol/task-template.md`" (make-task) or "Add a section to `docs/adr/<file>.md`" (fold-into-ADR). The fresh agent must finish by having WRITTEN THAT FILE, not by having changed product code.
|
|
49
|
+
- **Prefix-free body.** No Markdown blockquote `>` bars, no `|` sidebars, no line-number gutters — the human pastes it verbatim, so any per-line prefix has to be hand-stripped. Delimit it with a `---` rule before and after (or a fenced block if it contains no triple backticks), but keep the body itself decoration-free.
|
|
50
|
+
- **Self-contained.** Name the source observation, the exact files/seams the TASK should point its future builder at (verified paths), the change the task should specify, and the acceptance criteria the task should carry. Fold in everything — the fresh agent has none of this session's context. (Note these are inputs to WRITING THE TASK, not a to-do list for the fresh agent to execute.)
|
|
51
|
+
- **Carry the discharge instruction.** End with: once the task/ADR file is written and self-contained, DELETE the source observation (it has discharged) — so the inbox is drained by the follow-on artifact, not left as a resolved-but-kept note.
|
|
52
|
+
|
|
53
|
+
Compose with the `to-task` discipline if available — it produces exactly this task-file deliverable.
|
|
54
|
+
|
|
55
|
+
## Protocol rules this loop enforces
|
|
56
|
+
|
|
57
|
+
Apply the `work/` contract (`work/protocol/WORK-CONTRACT.md`), especially:
|
|
58
|
+
|
|
59
|
+
- **Discharge by deletion.** A capture-bucket note leaves the inbox by **deletion** the moment it stops being a live signal (git history is the archive). There is no `resolved` status; a note annotated "resolved" and kept is a contradiction.
|
|
60
|
+
- **Promoted notes discharge on SPAWN, not on landing.** A note promoted into a task/ADR is deletable AS SOON AS that artifact carries its signal — _verify self-containment first_ — NOT when the spawned work lands in `tasks/done/`. "Delete once the task lands" is the resolved-but-kept contradiction. If the spawned artifact is NOT self-contained, the bug is the artifact (fix it to carry the signal), not a reason to keep the note.
|
|
61
|
+
- **Forward & live only.** Don't back-fill a task/observation to narrate already-done work. A surviving observation describes a _pending or currently-signalled_ concern.
|
|
62
|
+
|
|
63
|
+
## Two common discharge patterns
|
|
64
|
+
|
|
65
|
+
- **The spent drift-pointer:** the task/code it warned about already landed, and its warning was inlined into that artifact → **delete**.
|
|
66
|
+
- **The fixed-defect note:** read the code; if the defect it describes is gone, the note is a tombstone → **delete** (optionally preserve the _why_ as a code/ADR note first).
|
|
67
|
+
|
|
68
|
+
## Repo-specific trap (dorfl)
|
|
69
|
+
|
|
70
|
+
`dorfl` is both **author and user** of the protocol. The protocol **source of truth** is `skills/setup/protocol/`; `work/protocol/` is a propagated **copy**. NEVER edit `work/protocol/` alone — edit the source and mirror both (see that repo's `AGENTS.md`). Other repos have only `work/protocol/`.
|
|
71
|
+
|
|
72
|
+
## Guardrails
|
|
73
|
+
|
|
74
|
+
- **Investigate, don't assume.** A confident "this is obsolete" is a _hypothesis_ until checked against the code.
|
|
75
|
+
- **Never auto-decide.** Recommend → WAIT → execute. The human owns the call. (Likewise, throwing a note away is the human's DIRECT delete — `git rm` / `dorfl drop` — not a token routed through the engine.)
|
|
76
|
+
- **Self-containment is a precondition for promote-then-delete.** If you make a task and delete the note, the task must stand alone.
|
|
77
|
+
- **Clean tree before writing.** Confirm the repo is ready for writes (the human will say so); commit in scoped commits as you go.
|
|
78
|
+
- **One at a time, human's order.** Don't fan out across the inbox.
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: work
|
|
3
|
+
disable-model-invocation: true
|
|
4
|
+
description: "Router over this repo's work/-contract skills: ask which skill or flow fits your situation. The index you reach for when you can't remember which of setup / to-spec / to-task / drive-tasks / merge-prs / orchestrate / triage-observations / review / promote / surface-questions / answer-questions / capture-signal to use."
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Work (the router)
|
|
8
|
+
|
|
9
|
+
The other workflow skills are **user-invoked** (`disable-model-invocation: true`), so the agent will not surface them for you on its own. _You_ are the index. This skill is that index: it names the work/-contract skills and the flow between them, so you don't have to remember them all.
|
|
10
|
+
|
|
11
|
+
A **flow** is a path through the skills. Most work travels one **main flow**; the disciplines are cross-cutting and get composed _by file-path load_ from inside whichever skill is running (never by model auto-invocation). That file-path composition is how a user-invoked skill composes another user-invoked one here.
|
|
12
|
+
|
|
13
|
+
## The main flow: idea to built
|
|
14
|
+
|
|
15
|
+
1. **`setup`** (onboard / adopt the contract): onboard ANY repo onto the `work/` contract (scaffold an empty one OR migrate a populated one — auto-detected depth). Run once per repo, before the rest of the flow. Composes `to-spec` / `to-task` to convert existing material. **NOTE the boundary with `from-idea`:** `setup` is the bare "put this repo on the contract" act with no specific idea in hand; if you are starting **from a raw idea** you want captured as a spec, reach for the **`from-idea`** on-ramp instead (it RUNS `setup` for you, then `to-spec`). Empty-vs-populated is NOT the discriminator (setup handles both) — the discriminator is whether you are holding an idea to spec.
|
|
16
|
+
2. **`to-spec`**: turn the current conversation plus codebase understanding into a spec file in `work/specs/ready/`. The LAUNCH snapshot, not maintained.
|
|
17
|
+
3. **`to-task`**: task a spec (or plan/design doc) into independently-grabbable, file-based tasks (`work/tasks/`), using tracer-bullet vertical tasks.
|
|
18
|
+
4. **Build the ready tasks. Pick the conductor:**
|
|
19
|
+
- **`drive-tasks`**: the SUPERVISED conductor. Drive a board of ready tasks to exhaustion, build each with `dorfl do task:<slug> --isolated`, review the diff yourself, merge, repeat. Requires the dorfl CLI. You are present.
|
|
20
|
+
- **`orchestrate`**: the META conductor, one rung ABOVE `drive-tasks`. Survey the WHOLE tree (observations / ideas / specs / tasks / needs-attention), advance every autonomous rung, batch the genuine judgement residue to the human, fill gaps until tasks are READY, then delegate building to `drive-tasks`. Reach for this when you want "figure out what to work on AND drive it", not just "build the already-ready tasks".
|
|
21
|
+
5. **Land the resulting PRs efficiently (optional, `propose` mode):**
|
|
22
|
+
- **`merge-prs`**: the batch-LANDING conductor. Starts where a build left an OPEN work PR: review the open PRs, partition them into conflict-free clusters (disjoint file-sets), gate each cluster's combined tip ONCE, then merge the cluster; PRs that don't cleanly combine fall out to their own gate. The sibling of `drive-tasks` (which builds+merges one task at a time) for when a `run`/CI/`drive-tasks` burst left a PILE of PRs to land in as few gate runs as possible. Requires `gh` + a GitHub arbiter in propose mode.
|
|
23
|
+
|
|
24
|
+
## On-ramps
|
|
25
|
+
|
|
26
|
+
A starting situation that generates work, then merges onto the main flow.
|
|
27
|
+
|
|
28
|
+
- **A raw project idea, from scratch**: **`from-idea`**. The from-scratch entrance to the main flow: clarify a raw idea just enough to be spec-worthy, then sequence `setup` (onboard the `work/` contract) and `to-spec` (synthesize the idea into a spec in `work/specs/ready/`), landing on step 2 of the main flow ready to task. The thin orchestrator over the front door; it does NOT grill the idea (that is `grilling`) and is not itself the spec-producer (it calls `to-spec`). Pick `from-idea` when you hold an IDEA; pick bare `setup` when you just want a repo ON the contract (either works on an empty folder — the idea is the discriminator, not emptiness).
|
|
29
|
+
- **Observations piling up in `work/notes/observations/`**: **`triage-observations`**. Drain the inbox one note at a time, investigate each against current reality, recommend an outcome, the human decides, execute. Promotes notes into tasks/specs/ADRs (composes `to-task`) or directly deletes them (`git rm` / `dorfl drop`).
|
|
30
|
+
|
|
31
|
+
## Cross-cutting disciplines (model-invoked, so the agent may also reach for these itself)
|
|
32
|
+
|
|
33
|
+
- **`capture-signal`**: the REFLEX. The moment you NOTICE something off the current task's path (drift, a recurring failure, surprising external behaviour, an out-of-scope opportunity, a decision worth recording), record it into the right `work/` bucket before it evaporates. The INVERSE of `triage-observations`.
|
|
34
|
+
- **`review`**: the adversarial review discipline for any `work/`-protocol artifact (task, spec, code-vs-its-task, captured note). Emits a verdict; the caller routes it. Composed by `drive-tasks` / `orchestrate` / the review gate.
|
|
35
|
+
- **`surface-questions`**: GATHER the open-judgement residue for ONE item and EMIT questions; write nothing. The advance engine's surface-question rung (or the no-runner manual path). Composes `review` / `to-task` unchanged.
|
|
36
|
+
- **`promote`** (human-invoked): the pre-promotion checklist. Judge ONE staged item (`tasks/backlog/` / `specs/proposed/`) — review + freshness + pool-readiness — and emit promote / keep-staged / drop. Writes/moves nothing; the human or the runner's `promote` verb does the move. The staging→pool review-gate discipline.
|
|
37
|
+
- **`answer-questions`** (human-invoked): the read-side mirror of `surface-questions`. Walk the open `work/questions/` sidecars, DRAFT answers to the factual ones for the human to ratify (cited to evidence), DEFER the genuine-judgement ones with context + a suggested default. Proposes; never finalises — the human is the clock.
|
|
38
|
+
|
|
39
|
+
## What this system deliberately does NOT have
|
|
40
|
+
|
|
41
|
+
There is **no issue tracker and no label state-machine** — their job is done by `work/` files and folders-as-status:
|
|
42
|
+
|
|
43
|
+
- a feature's north-star doc is a **spec file** (`to-spec`), not a tracker epic; buildable units are **task files** (`to-task`), not tracker issues.
|
|
44
|
+
- signal triage is **`triage-observations`** over the `work/notes/observations/` inbox plus folders-as-status plus the autonomy gate, not a label workflow.
|
|
45
|
+
- onboarding a repo is **`setup`**, not a tracker integration.
|
|
46
|
+
|
|
47
|
+
General engineering disciplines that are NOT part of the `work/` contract — `grilling`, `domain-modeling`, `codebase-design`, `diagnosing-bugs`, `tdd`, `prototype`, `handoff`, `improve-codebase-architecture`, `resolving-merge-conflicts` — are complementary: use them alongside these skills whenever the work calls for them.
|
|
48
|
+
|
|
49
|
+
## Note for autonomous runners
|
|
50
|
+
|
|
51
|
+
`dorfl` execution does NOT load these `SKILL.md` files. It assembles its prompt from the vendored `work/protocol/` docs in-band. These skills are for the INTERACTIVE / orchestrating agent. A discipline that must reach the autonomous worker (e.g. TDD) belongs IN-BAND in the task body / CLAIM-PROTOCOL, not in a skill the CI worker can't see.
|
package/dist/slug-namespace.d.ts
CHANGED
|
@@ -41,8 +41,8 @@ import { type LedgerReadStrategy } from './ledger-read.js';
|
|
|
41
41
|
* {@link resolveAdvanceArg}).
|
|
42
42
|
*
|
|
43
43
|
* HARD CUTOVER (spec `prd-to-spec-vocabulary-cutover-and-migration-command`,
|
|
44
|
-
* contract step): the legacy
|
|
45
|
-
* is `'spec'` only. A
|
|
44
|
+
* contract step): the legacy ''prd'' member is GONE — the parent-spec namespace
|
|
45
|
+
* is `'spec'` only. A ''prd:<slug>'' arg no longer parses to a namespace (it falls
|
|
46
46
|
* through to a bare literal slug), and a `work/prd-<slug>` branch ref no longer
|
|
47
47
|
* parses. No back-compat alias (the clean-break stance).
|
|
48
48
|
*/
|
|
@@ -90,7 +90,7 @@ export declare function workBranchRef(namespace: SlugNamespace, slug: string, op
|
|
|
90
90
|
* anchors the optional producer prefix BEFORE the type alternation, so
|
|
91
91
|
* `work/intake-task-foo` resolves to
|
|
92
92
|
* `{producer:'intake', namespace:'task', slug:'foo'}` (the `slug` never
|
|
93
|
-
* swallows the `intake-`/`task-` prefixes). The old
|
|
93
|
+
* swallows the `intake-`/`task-` prefixes). The old ''slice''/''brief''/''prd'' types
|
|
94
94
|
* are NOT in the alternation, so a pre-rename `work/prd-foo` ref returns
|
|
95
95
|
* `undefined` (the clean-break stance: no migration-window alias).
|
|
96
96
|
*/
|
|
@@ -129,8 +129,8 @@ export declare class SlugResolutionError extends Error {
|
|
|
129
129
|
* slug. PURE string work, no existence check: `task:foo` → explicit task,
|
|
130
130
|
* `spec:foo` → explicit spec, `foo` → bare (`explicit: undefined`). The prefix
|
|
131
131
|
* match is case-sensitive and exact (`task:`/`spec:`); a slug like `tasked` is
|
|
132
|
-
* NOT a prefix and stays bare. HARD CUTOVER: the legacy
|
|
133
|
-
* namespace prefix anymore —
|
|
132
|
+
* NOT a prefix and stays bare. HARD CUTOVER: the legacy ''prd:'' prefix is not a
|
|
133
|
+
* namespace prefix anymore — ''prd:foo'' stays a bare literal slug.
|
|
134
134
|
*/
|
|
135
135
|
export declare function parseSlugArg(arg: string): ParsedSlugArg;
|
|
136
136
|
/** What the resolver needs to perform the existence checks. */
|
package/dist/slug-namespace.js
CHANGED
|
@@ -34,13 +34,13 @@ export function workBranchRef(namespace, slug, opts) {
|
|
|
34
34
|
* anchors the optional producer prefix BEFORE the type alternation, so
|
|
35
35
|
* `work/intake-task-foo` resolves to
|
|
36
36
|
* `{producer:'intake', namespace:'task', slug:'foo'}` (the `slug` never
|
|
37
|
-
* swallows the `intake-`/`task-` prefixes). The old
|
|
37
|
+
* swallows the `intake-`/`task-` prefixes). The old ''slice''/''brief''/''prd'' types
|
|
38
38
|
* are NOT in the alternation, so a pre-rename `work/prd-foo` ref returns
|
|
39
39
|
* `undefined` (the clean-break stance: no migration-window alias).
|
|
40
40
|
*/
|
|
41
41
|
export function parseWorkBranchRef(branch) {
|
|
42
42
|
// HARD CUTOVER (spec `prd-to-spec-vocabulary-cutover-and-migration-command`,
|
|
43
|
-
// contract step): the type alternation is `task|spec` ONLY — the legacy
|
|
43
|
+
// contract step): the type alternation is `task|spec` ONLY — the legacy ''prd''
|
|
44
44
|
// token is GONE, so a pre-rename `work/prd-<slug>` ref returns `undefined` (no
|
|
45
45
|
// migration-window alias; the clean-break stance).
|
|
46
46
|
const match = /^work\/(?:(intake)-)?(task|spec)-(.+)$/.exec(branch);
|
|
@@ -59,7 +59,7 @@ const TASK_PREFIX = 'task:';
|
|
|
59
59
|
/**
|
|
60
60
|
* The parent-spec namespace prefix: `spec:<slug>` → `{explicit: 'spec'}`. HARD
|
|
61
61
|
* CUTOVER (spec `prd-to-spec-vocabulary-cutover-and-migration-command`): the
|
|
62
|
-
* legacy
|
|
62
|
+
* legacy ''prd:'' prefix is GONE — a ''prd:<slug>'' arg falls through to a bare
|
|
63
63
|
* literal slug (no namespace), the clean-break stance.
|
|
64
64
|
*/
|
|
65
65
|
const SPEC_PREFIX = 'spec:';
|
|
@@ -86,8 +86,8 @@ export class SlugResolutionError extends Error {
|
|
|
86
86
|
* slug. PURE string work, no existence check: `task:foo` → explicit task,
|
|
87
87
|
* `spec:foo` → explicit spec, `foo` → bare (`explicit: undefined`). The prefix
|
|
88
88
|
* match is case-sensitive and exact (`task:`/`spec:`); a slug like `tasked` is
|
|
89
|
-
* NOT a prefix and stays bare. HARD CUTOVER: the legacy
|
|
90
|
-
* namespace prefix anymore —
|
|
89
|
+
* NOT a prefix and stays bare. HARD CUTOVER: the legacy ''prd:'' prefix is not a
|
|
90
|
+
* namespace prefix anymore — ''prd:foo'' stays a bare literal slug.
|
|
91
91
|
*/
|
|
92
92
|
export function parseSlugArg(arg) {
|
|
93
93
|
if (arg.startsWith(TASK_PREFIX)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slug-namespace.js","sourceRoot":"","sources":["../src/slug-namespace.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAA0B,MAAM,kBAAkB,CAAC;AAgErE;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,aAAa,CAC5B,SAAwB,EACxB,IAAY,EACZ,IAAkC;IAElC,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,CAAC;IAChC,OAAO,QAAQ,KAAK,SAAS;QAC5B,CAAC,CAAC,QAAQ,SAAS,IAAI,IAAI,EAAE;QAC7B,CAAC,CAAC,QAAQ,QAAQ,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;AAC5C,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,kBAAkB,CACjC,MAAc;IAId,6EAA6E;IAC7E,
|
|
1
|
+
{"version":3,"file":"slug-namespace.js","sourceRoot":"","sources":["../src/slug-namespace.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-complete.d.ts","sourceRoot":"","sources":["../src/spec-complete.ts"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,mBAAmB,EAIxB,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-complete.d.ts","sourceRoot":"","sources":["../src/spec-complete.ts"],"names":[],"mappings":"AAGA,OAAO,EAEN,KAAK,mBAAmB,EAIxB,MAAM,kBAAkB,CAAC;AA2B1B,4DAA4D;AAC5D,KAAK,UAAU,GAAG,mBAAmB,CAAC;AAEtC,iFAAiF;AACjF,MAAM,WAAW,iBAAiB;IACjC,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;IACjB,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;CACb;AAED,sEAAsE;AACtE,MAAM,WAAW,QAAQ;IACxB,mEAAmE;IACnE,IAAI,EAAE,MAAM,CAAC;IACb,gFAAgF;IAChF,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,EAAE,UAAU,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC;;;;OAIG;IACH,QAAQ,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,KAAK,EAAE,QAAQ,EAAE,CAAC;CAClB;AAcD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,iBAAiB,GAAG,kBAAkB,CAwB3E"}
|
package/dist/spec-complete.js
CHANGED
|
@@ -20,9 +20,8 @@ import { TASK_LIFECYCLE_FOLDERS, workFolderPath, workItemRel, isWorkItemFile, }
|
|
|
20
20
|
* claim ledger (`ledger-read.ts` resolves claim-STATE, a different concern). It
|
|
21
21
|
* reuses {@link parseFrontmatter} (the `spec:` field) rather than hand-rolling a YAML
|
|
22
22
|
* parse, and scans the task lifecycle folders directly: `work/tasks/ready/`,
|
|
23
|
-
* `work/in-progress/`,
|
|
24
|
-
*
|
|
25
|
-
* means the spec is not yet complete.
|
|
23
|
+
* `work/in-progress/`, and `work/done/`. A task that has NOT yet landed in
|
|
24
|
+
* `work/done/` (still in backlog / in-progress) means the spec is not yet complete.
|
|
26
25
|
*/
|
|
27
26
|
/** The task lifecycle folders a `spec:<slug>` task can reside in. */
|
|
28
27
|
const TASK_FOLDERS = TASK_LIFECYCLE_FOLDERS;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-complete.js","sourceRoot":"","sources":["../src/spec-complete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACN,sBAAsB,EAEtB,cAAc,EACd,WAAW,EACX,cAAc,GACd,MAAM,kBAAkB,CAAC;AAE1B
|
|
1
|
+
{"version":3,"file":"spec-complete.js","sourceRoot":"","sources":["../src/spec-complete.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EAAC,QAAQ,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AACzC,OAAO,EAAC,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAClD,OAAO,EACN,sBAAsB,EAEtB,cAAc,EACd,WAAW,EACX,cAAc,GACd,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,qEAAqE;AACrE,MAAM,YAAY,GAAG,sBAAsB,CAAC;AAuC5C,uFAAuF;AACvF,SAAS,YAAY,CAAC,QAAgB,EAAE,MAAkB;IACzD,MAAM,GAAG,GAAG,cAAc,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7C,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACJ,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAC9D,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAwB;IACtD,MAAM,EAAC,QAAQ,EAAE,IAAI,EAAC,GAAG,KAAK,CAAC;IAC/B,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,MAAM,IAAI,YAAY,EAAE,CAAC;QACnC,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC;YACnD,MAAM,OAAO,GAAG,YAAY,CAC3B,IAAI,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,EACzC,MAAM,CACN,CAAC;YACF,MAAM,EAAE,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,EAAE,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtB,KAAK,CAAC,IAAI,CAAC;oBACV,IAAI;oBACJ,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;oBACtC,MAAM;iBACN,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;IACF,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEnD,sEAAsE;IACtE,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC7E,OAAO,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC;AAC1B,CAAC"}
|
package/dist/start.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,MAAM,MAAM,YAAY,GACrB,SAAS,GACT,SAAS,GACT,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,MAAM,GACN,WAAW,GACX,aAAa,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC5B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;CAChB;
|
|
1
|
+
{"version":3,"file":"start.d.ts","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAEH,MAAM,MAAM,YAAY,GACrB,SAAS,GACT,SAAS,GACT,UAAU,GACV,iBAAiB,GACjB,iBAAiB,GACjB,SAAS,GACT,MAAM,GACN,WAAW,GACX,aAAa,CAAC;AAEjB,MAAM,WAAW,YAAY;IAC5B,2EAA2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4DAA4D;IAC5D,GAAG,EAAE,MAAM,CAAC;IACZ,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,mBAAmB,CAAC;IACxC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,8CAA8C;IAC9C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC3B,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACxB,OAAO,EAAE,YAAY,CAAC;IACtB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,OAAO,EAAE,MAAM,CAAC;CAChB;AAuBD;;;;GAIG;AACH,wBAAsB,YAAY,CACjC,OAAO,EAAE,YAAY,GACnB,OAAO,CAAC,WAAW,CAAC,CActB"}
|
package/dist/start.js
CHANGED
|
@@ -12,7 +12,8 @@ class StartUsageError extends Error {
|
|
|
12
12
|
/**
|
|
13
13
|
* Raised for a deliberate REFUSAL (exit 1, outcome 'refused') — distinct from a
|
|
14
14
|
* usage/environment error. Used when the item exists but start declines to act
|
|
15
|
-
* (an in-progress item without --resume). The decision is
|
|
15
|
+
* (an in-progress item without --resume). The decision is LOCK-based (a held
|
|
16
|
+
* `active` per-item lock), not a `work/in-progress/` folder read.
|
|
16
17
|
*/
|
|
17
18
|
class StartRefusal extends Error {
|
|
18
19
|
}
|
|
@@ -109,11 +110,11 @@ async function dispatchFolder(slug, arbiter, cwd, env, allowBacklog = false) {
|
|
|
109
110
|
if (!inPool) {
|
|
110
111
|
return folder;
|
|
111
112
|
}
|
|
112
|
-
// In the pool/staging: claimed-ness
|
|
113
|
+
// In the pool/staging: claimed-ness is the per-item lock (not the folder).
|
|
114
|
+
// Post-`retire-stuck-lock-state` there is no `stuck` state — a parked item is
|
|
115
|
+
// a `needsAnswers:true` pool item on `main` (rendered by status/scan and
|
|
116
|
+
// drained by the apply rung), NEVER a lock re-key.
|
|
113
117
|
const lock = await readItemLock({ item: `task:${slug}`, cwd, arbiter, env });
|
|
114
|
-
if (lock && lock.state === 'stuck') {
|
|
115
|
-
return 'needs-attention';
|
|
116
|
-
}
|
|
117
118
|
if (lock && lock.state === 'active') {
|
|
118
119
|
return 'in-progress';
|
|
119
120
|
}
|
|
@@ -217,7 +218,7 @@ async function continueConflictResult(params) {
|
|
|
217
218
|
return surfaceUnmovedStartResult({ slug: params.slug, surfaced });
|
|
218
219
|
}
|
|
219
220
|
const message = `Could not continue '${params.slug}': the kept work branch did not rebase ` +
|
|
220
|
-
`cleanly onto ${params.arbiter}/main;
|
|
221
|
+
`cleanly onto ${params.arbiter}/main; marked stuck on its per-item lock ` +
|
|
221
222
|
'(surfaced by status). Resolve against the latest main, or `requeue --reset` ' +
|
|
222
223
|
'to discard and start fresh.';
|
|
223
224
|
return {
|
|
@@ -242,8 +243,8 @@ async function continuePushFailureResult(params) {
|
|
|
242
243
|
return surfaceUnmovedStartResult({ slug: params.slug, surfaced });
|
|
243
244
|
}
|
|
244
245
|
const message = `Could not continue '${params.slug}': publishing the rebased work branch to ` +
|
|
245
|
-
`${params.arbiter} failed terminally (${params.pushFailure});
|
|
246
|
-
'
|
|
246
|
+
`${params.arbiter} failed terminally (${params.pushFailure}); marked stuck ` +
|
|
247
|
+
'on its per-item lock (surfaced by status), the kept branch left intact on ' +
|
|
247
248
|
'the arbiter (recoverable). `requeue` to retry once the churn settles.';
|
|
248
249
|
return {
|
|
249
250
|
exitCode: 1,
|
|
@@ -261,39 +262,14 @@ async function continuePushFailureResult(params) {
|
|
|
261
262
|
*/
|
|
262
263
|
async function startFromNeedsAttention(params) {
|
|
263
264
|
const { slug, arbiter, cwd, env, note } = params;
|
|
264
|
-
//
|
|
265
|
-
//
|
|
266
|
-
//
|
|
267
|
-
//
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
}
|
|
272
|
-
else {
|
|
273
|
-
note(`'${slug}' is stuck (needs-attention) — picking it up.`);
|
|
274
|
-
}
|
|
275
|
-
if (stuck?.questions && stuck.questions.length > 0) {
|
|
276
|
-
note('Surfaced questions:');
|
|
277
|
-
for (const q of stuck.questions) {
|
|
278
|
-
note(` - ${q}`);
|
|
279
|
-
}
|
|
280
|
-
}
|
|
281
|
-
// Resume the lock `stuck → active` THROUGH the write seam (a pure lock amend, NO
|
|
282
|
-
// `main` write, NO temp checkout — the body already rests in `backlog/` and the
|
|
283
|
-
// work stays on the kept `work/<slug>` branch), then onboard onto work/<slug>.
|
|
284
|
-
const resolved = await ledgerWrite.applyResolveNeedsAttentionTransition({
|
|
285
|
-
cwd,
|
|
286
|
-
slug,
|
|
287
|
-
arbiter,
|
|
288
|
-
env,
|
|
289
|
-
note,
|
|
290
|
-
});
|
|
291
|
-
if (!resolved.moved) {
|
|
292
|
-
throw new StartUsageError(resolved.reasonNotMoved ??
|
|
293
|
-
`could not resolve '${slug}' from needs-attention.`);
|
|
294
|
-
}
|
|
295
|
-
// The lock is back to active (the human owns it). Onboard onto the work branch:
|
|
296
|
-
// CONTINUE from a kept arbiter work/<slug> when present, else fresh off main.
|
|
265
|
+
// Post-`retire-stuck-lock-state`: the `stuck` lock state is gone; a parked
|
|
266
|
+
// item is a `needsAnswers:true` pool item on `main` drained by the apply
|
|
267
|
+
// rung (answer the sidecar). This branch fires only when a LEGACY
|
|
268
|
+
// `needs-attention/` folder body still exists on `<arbiter>/main` (no
|
|
269
|
+
// live path lands one). Onboard the human onto the kept work branch — no
|
|
270
|
+
// lock amend, no reason/questions read from the lock (those live on the
|
|
271
|
+
// surfaced sidecar now).
|
|
272
|
+
note(`'${slug}' is in the legacy needs-attention/ folder — onboarding onto its work branch; answer any question sidecar on main to drain it.`);
|
|
297
273
|
const switched = await switchToWorkBranch({ slug, arbiter, cwd, env, note });
|
|
298
274
|
if (switched.rebaseConflict) {
|
|
299
275
|
return continueConflictResult({ slug, arbiter, cwd, env, note });
|
|
@@ -314,18 +290,23 @@ async function startFromNeedsAttention(params) {
|
|
|
314
290
|
return { exitCode: 0, outcome: 'resolved', branch, message };
|
|
315
291
|
}
|
|
316
292
|
/**
|
|
317
|
-
* In-progress → already claimed (
|
|
318
|
-
* apply). Refuse by default. With --resume the human explicitly asserts
|
|
293
|
+
* In-progress → already claimed (the per-item LOCK is held `active`, so the CAS
|
|
294
|
+
* cannot apply). Refuse by default. With --resume the human explicitly asserts
|
|
319
295
|
* ownership, so we switch to the work branch WITHOUT claiming. The decision is
|
|
320
|
-
*
|
|
296
|
+
* LOCK-based: `dispatchFolder` reaches here only when the lock is held `active`
|
|
297
|
+
* (the body rests in the pool/staging, NOT a `work/in-progress/` folder file —
|
|
298
|
+
* the folder cutover retired that path,
|
|
299
|
+
* `finish-in-progress-folder-cutover-remove-legacy-recovery-readers`). We never
|
|
300
|
+
* read the advisory `claimed_by` to guess ownership.
|
|
321
301
|
*/
|
|
322
302
|
async function startFromInProgress(params) {
|
|
323
303
|
const { slug, arbiter, cwd, env, resume, note } = params;
|
|
324
304
|
if (!resume) {
|
|
325
|
-
// The
|
|
326
|
-
//
|
|
327
|
-
// message; whoever holds it is read from git
|
|
328
|
-
// (`git log work/
|
|
305
|
+
// The held LOCK drove the decision (the per-item lock is the source of truth
|
|
306
|
+
// for liveness now — the body stays in the pool, no `work/in-progress/` file).
|
|
307
|
+
// We do NOT name the claimer in the message; whoever holds it is read from git
|
|
308
|
+
// history (`git log` over the item's `work/tasks/ready/<slug>.md` + the lock
|
|
309
|
+
// ref history).
|
|
329
310
|
throw new StartRefusal(`'${slug}' is already in-progress; see \`git log\` for who claimed it; ` +
|
|
330
311
|
'if this is your own work, re-run with --resume.');
|
|
331
312
|
}
|
|
@@ -530,16 +511,19 @@ function surfaceUnmovedStartResult(params) {
|
|
|
530
511
|
* TREE-LESS (`#89` mechanism), the SAME-PROFILE sibling of
|
|
531
512
|
* {@link routeContinuePushFailure}: the rebase was ABORTED, so the REAL continued
|
|
532
513
|
* `work/<slug>` is already on the arbiter from the prior requeue, untouched
|
|
533
|
-
* (after-commit, durable, recoverable). The surface is PURELY the
|
|
534
|
-
* `
|
|
514
|
+
* (after-commit, durable, recoverable). The surface is PURELY the lock amend to
|
|
515
|
+
* `state: stuck` with the reason (post lock-cutover — no `in-progress/ →
|
|
516
|
+
* needs-attention/` folder move) — we publish it via
|
|
535
517
|
* the tree-less surface CAS (the SAME no-checkout primitive `requeue` uses for the
|
|
536
518
|
* reverse direction), NO temp-branch switch/restore, NO `pushBranch`, NO worktree.
|
|
537
519
|
*/
|
|
538
520
|
async function routeContinueConflict(params) {
|
|
539
521
|
const { slug, arbiter, cwd, env, note } = params;
|
|
540
522
|
const reason = `continuing the kept ${arbiter}/${workBranchRef('task', slug)}: rebase onto ` +
|
|
541
|
-
`${arbiter}/main conflicted (aborted, never auto-resolved) —
|
|
542
|
-
'
|
|
523
|
+
`${arbiter}/main conflicted (aborted, never auto-resolved) — run ` +
|
|
524
|
+
'`requeue --reconcile` to non-destructively re-sync the mirror and retry ' +
|
|
525
|
+
'the rebase (keeps the work). Last resort: `requeue --reset` ' +
|
|
526
|
+
'DESTRUCTIVELY discards the branch and starts fresh.';
|
|
543
527
|
note(reason);
|
|
544
528
|
// PROPAGATE the {moved, reasonNotMoved} result to the caller so a `moved:false`
|
|
545
529
|
// (the surface did NOT reach main — lost the CAS race) is surfaced honestly
|
|
@@ -563,8 +547,9 @@ async function routeContinueConflict(params) {
|
|
|
563
547
|
* TREE-LESS (`#89` mechanism): the recoverable artifact — the kept `work/<slug>`
|
|
564
548
|
* — is ALREADY on the arbiter from the prior requeue (our local rebased tip is
|
|
565
549
|
* what FAILED to push, so it is not the cross-machine truth), and the work is
|
|
566
|
-
* already committed. So the surface is PURELY the
|
|
567
|
-
*
|
|
550
|
+
* already committed. So the surface is PURELY the lock amend to `state: stuck`
|
|
551
|
+
* with the reason (post lock-cutover — no `in-progress/ → needs-attention/`
|
|
552
|
+
* folder move): we publish it via the tree-less
|
|
568
553
|
* surface CAS (the SAME no-checkout primitive `requeue` uses for the reverse
|
|
569
554
|
* direction) — NO temp-branch switch/restore, NO `pushBranch`, NO worktree. A
|
|
570
555
|
* `requeue` then continues from the kept arbiter tip.
|
|
@@ -573,8 +558,10 @@ async function routeContinuePushFailure(params) {
|
|
|
573
558
|
const { slug, arbiter, cwd, pushFailure, env, note } = params;
|
|
574
559
|
const reason = `continuing the kept ${arbiter}/${workBranchRef('task', slug)}: publishing ` +
|
|
575
560
|
`the rebased work branch to ${arbiter} failed terminally (${pushFailure}) — ` +
|
|
576
|
-
'the kept branch is left intact on the arbiter (recoverable); `requeue
|
|
577
|
-
'
|
|
561
|
+
'the kept branch is left intact on the arbiter (recoverable); `requeue ' +
|
|
562
|
+
'--reconcile` to non-destructively re-sync the mirror and retry once the ' +
|
|
563
|
+
'churn settles (keeps the work). Last resort: `requeue --reset` ' +
|
|
564
|
+
'DESTRUCTIVELY discards the branch and starts fresh.';
|
|
578
565
|
note(reason);
|
|
579
566
|
// PROPAGATE the {moved, reasonNotMoved} result to the caller so a `moved:false`
|
|
580
567
|
// (the surface did NOT reach main — lost the CAS race) is surfaced honestly
|
|
@@ -606,7 +593,14 @@ async function folderOnArbiterMain(slug, arbiter, cwd, env, allowBacklog = false
|
|
|
606
593
|
const folders = [
|
|
607
594
|
'tasks-ready',
|
|
608
595
|
...(allowBacklog ? ['tasks-backlog'] : []),
|
|
609
|
-
|
|
596
|
+
// NOTE: `work/in-progress/` is NOT probed (task
|
|
597
|
+
// `finish-in-progress-folder-cutover-remove-legacy-recovery-readers`): the
|
|
598
|
+
// per-item-lock cutover moved claim OFF writing that folder, so nothing lands a
|
|
599
|
+
// body there. A claimed-and-in-flight item RESTS in the pool/staging on `main`
|
|
600
|
+
// with the held lock as its liveness — `dispatchFolder` re-keys THAT to the
|
|
601
|
+
// `in-progress` dispatch off the LOCK (`state: active`), never a folder read.
|
|
602
|
+
// (`needs-attention/` is likewise the lock `state: stuck`; its retained probe is
|
|
603
|
+
// a separate cutover's concern, left untouched here.)
|
|
610
604
|
'needs-attention',
|
|
611
605
|
'done',
|
|
612
606
|
];
|
package/dist/start.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAC,WAAW,EAAC,MAAM,mBAAmB,CAAC;AAE9C,OAAO,EACN,oBAAoB,EACpB,6BAA6B,EAC7B,sCAAsC,GACtC,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,QAAQ,EAAiB,MAAM,UAAU,CAAC;AAClD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,aAAa,EAAE,kBAAkB,EAAC,MAAM,qBAAqB,CAAC;AAyGtE,MAAM,eAAe,GAAG,QAAQ,CAAC;AAEjC,2EAA2E;AAC3E,MAAM,eAAgB,SAAQ,KAAK;CAAG;AAEtC;;;;GAIG;AACH,MAAM,YAAa,SAAQ,KAAK;CAAG;AAUnC;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,OAAqB;IAErB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IACxC,IAAI,CAAC;QACJ,OAAO,MAAM,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,YAAY,YAAY,EAAE,CAAC;YACjC,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAC,CAAC;QAChE,CAAC;QACD,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACpC,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAC,CAAC;QACpE,CAAC;QACD,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,aAAa,EAAE,OAAO,EAAC,CAAC;IACvD,CAAC;AACF,CAAC;AAED,KAAK,UAAU,QAAQ,CACtB,OAAqB,EACrB,IAAyB;IAEzB,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAC;IACnD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IAExB,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,eAAe,CAAC,6BAA6B,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,eAAe,CACxB,wBAAwB,OAAO,gCAAgC,CAC/D,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,MAAM,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IACnE,IAAI,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,IAAI,eAAe,CACxB,qEAAqE;YACpE,2DAA2D,CAC5D,CAAC;IACH,CAAC;IAED,+EAA+E;IAC/E,iFAAiF;IACjF,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACvD,MAAM,MAAM,GAAG,MAAM,cAAc,CAClC,IAAI,EACJ,OAAO,EACP,GAAG,EACH,GAAG,EACH,OAAO,CAAC,YAAY,KAAK,IAAI,CAC7B,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE;QAC9C,OAAO;QACP,IAAI;QACJ,OAAO;QACP,GAAG;QACH,GAAG;QACH,IAAI;KACJ,CAAC,CAAC;IAEH,+EAA+E;IAC/E,4EAA4E;IAC5E,iFAAiF;IACjF,4EAA4E;IAC5E,gFAAgF;IAChF,2EAA2E;IAC3E,IACC,OAAO,CAAC,iBAAiB;QACzB,MAAM,CAAC,QAAQ,KAAK,CAAC;QACrB,MAAM,CAAC,MAAM,KAAK,SAAS,EAC1B,CAAC;QACF,IAAI,CAAC,qDAAqD,GAAG,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,iBAAiB,CAAC,EAAC,IAAI,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAC,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,KAAK,UAAU,cAAc,CAC5B,IAAY,EACZ,OAAe,EACf,GAAW,EACX,GAAkC,EAClC,YAAY,GAAG,KAAK;IAEpB,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACvC,IAAI,EACJ,OAAO,EACP,GAAG,EACH,GAAG,EACH,YAAY,CACZ,CAAC;IACF,4EAA4E;IAC5E,MAAM,MAAM,GAAG,MAAM,KAAK,aAAa,IAAI,MAAM,KAAK,eAAe,CAAC;IACtE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,MAAM,CAAC;IACf,CAAC;IACD,wFAAwF;IACxF,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,EAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IAC3E,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,OAAO,aAAa,CAAC;IACtB,CAAC;IACD,OAAO,aAAa,CAAC;AACtB,CAAC;AAED,yEAAyE;AACzE,KAAK,UAAU,iBAAiB,CAC/B,MAAc,EACd,MAOC;IAED,MAAM,EAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IACxD,QAAQ,MAAM,EAAE,CAAC;QAChB,KAAK,aAAa;YACjB,OAAO,gBAAgB,CAAC;gBACvB,IAAI;gBACJ,OAAO;gBACP,GAAG;gBACH,GAAG;gBACH,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,KAAK;gBACnC,IAAI;aACJ,CAAC,CAAC;QACJ,KAAK,aAAa;YACjB,OAAO,mBAAmB,CAAC;gBAC1B,IAAI;gBACJ,OAAO;gBACP,GAAG;gBACH,GAAG;gBACH,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;gBAC/B,IAAI;aACJ,CAAC,CAAC;QACJ,KAAK,iBAAiB;YACrB,OAAO,uBAAuB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;QACjE,KAAK,MAAM;YACV,MAAM,IAAI,eAAe,CACxB,IAAI,IAAI,wBAAwB,OAAO,2BAA2B,CAClE,CAAC;QACH,KAAK,QAAQ;YACZ,MAAM,IAAI,eAAe,CACxB,IAAI,IAAI,uBAAuB,OAAO,oDAAoD,CAC1F,CAAC;IACJ,CAAC;AACF,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,gBAAgB,CAAC,MAO/B;IACA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAEzD,6EAA6E;IAC7E,6EAA6E;IAC7E,mEAAmE;IACnE,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC;QAChC,IAAI;QACJ,GAAG;QACH,OAAO;QACP,GAAG;QACH,SAAS,EAAE,IAAI;QACf,QAAQ;QACR,IAAI;KACJ,CAAC,CAAC;IACH,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;QAC1B,4EAA4E;QAC5E,yEAAyE;QACzE,2EAA2E;QAC3E,kCAAkC;QAClC,MAAM,OAAO,GACZ,KAAK,CAAC,OAAO,KAAK,WAAW;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC;gBACrB,CAAC,CAAC,MAAM;gBACR,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC;oBACrB,CAAC,CAAC,WAAW;oBACb,CAAC,CAAC,aAAa,CAAC;QACpB,OAAO,EAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAC,CAAC;IACpE,CAAC;IAED,6EAA6E;IAC7E,gFAAgF;IAChF,2EAA2E;IAC3E,uBAAuB;IACvB,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;IAC3E,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,sBAAsB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,yBAAyB,CAAC;YAChC,IAAI;YACJ,OAAO;YACP,GAAG;YACH,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,GAAG;YACH,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS;QACjC,CAAC,CAAC,YAAY,IAAI,4BAA4B,MAAM,wBAAwB;QAC5E,CAAC,CAAC,YAAY,IAAI,8BAA8B,MAAM,GAAG,CAAC;IAC3D,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;AAC3D,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,sBAAsB,CAAC,MAMrC;IACA,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,yBAAyB,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,OAAO,GACZ,uBAAuB,MAAM,CAAC,IAAI,yCAAyC;QAC3E,gBAAgB,MAAM,CAAC,OAAO,yCAAyC;QACvE,8EAA8E;QAC9E,6BAA6B,CAAC;IAC/B,OAAO;QACN,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;QAC1C,OAAO;KACP,CAAC;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,yBAAyB,CAAC,MAOxC;IACA,MAAM,QAAQ,GAAG,MAAM,wBAAwB,CAAC,MAAM,CAAC,CAAC;IACxD,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,OAAO,yBAAyB,CAAC,EAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,QAAQ,EAAC,CAAC,CAAC;IACjE,CAAC;IACD,MAAM,OAAO,GACZ,uBAAuB,MAAM,CAAC,IAAI,2CAA2C;QAC7E,GAAG,MAAM,CAAC,OAAO,uBAAuB,MAAM,CAAC,WAAW,eAAe;QACzE,6EAA6E;QAC7E,uEAAuE,CAAC;IACzE,OAAO;QACN,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC;QAC1C,OAAO;KACP,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CAAC,MAMtC;IACA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAE/C,4EAA4E;IAC5E,gFAAgF;IAChF,iFAAiF;IACjF,8DAA8D;IAC9D,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,EAAC,IAAI,EAAE,QAAQ,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAC,CAAC,CAAC;IAC5E,IAAI,KAAK,EAAE,MAAM,EAAE,CAAC;QACnB,IAAI,CAAC,IAAI,IAAI,iCAAiC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACP,IAAI,CAAC,IAAI,IAAI,+CAA+C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,KAAK,EAAE,SAAS,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAClB,CAAC;IACF,CAAC;IAED,iFAAiF;IACjF,gFAAgF;IAChF,+EAA+E;IAC/E,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,oCAAoC,CAAC;QACvE,GAAG;QACH,IAAI;QACJ,OAAO;QACP,GAAG;QACH,IAAI;KACJ,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,IAAI,eAAe,CACxB,QAAQ,CAAC,cAAc;YACtB,sBAAsB,IAAI,yBAAyB,CACpD,CAAC;IACH,CAAC;IAED,gFAAgF;IAChF,8EAA8E;IAC9E,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;IAC3E,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,sBAAsB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,yBAAyB,CAAC;YAChC,IAAI;YACJ,OAAO;YACP,GAAG;YACH,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,GAAG;YACH,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,YAAY,IAAI,oDAAoD,MAAM,GAAG,CAAC;IAC9F,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;AAC5D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CAAC,MAOlC;IACA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAEvD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,wEAAwE;QACxE,sEAAsE;QACtE,qDAAqD;QACrD,0CAA0C;QAC1C,MAAM,IAAI,YAAY,CACrB,IAAI,IAAI,gEAAgE;YACvE,iDAAiD,CAClD,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;IAC3E,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QAC7B,OAAO,sBAAsB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,yBAAyB,CAAC;YAChC,IAAI;YACJ,OAAO;YACP,GAAG;YACH,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,GAAG;YACH,IAAI;SACJ,CAAC,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,OAAO,GAAG,YAAY,IAAI,kBAAkB,MAAM,cAAc,CAAC;IACvE,IAAI,CAAC,OAAO,CAAC,CAAC;IACd,OAAO,EAAC,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAC,CAAC;AAC3D,CAAC;AA2BD;;;;;;;;;;;;;;;;;GAiBG;AACH,KAAK,UAAU,kBAAkB,CAAC,MAMjC;IACA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAC/C,oEAAoE;IACpE,sEAAsE;IACtE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE3C,MAAM,OAAO,CAAC,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAEvD,2EAA2E;IAC3E,6EAA6E;IAC7E,6EAA6E;IAC7E,yEAAyE;IACzE,4EAA4E;IAC5E,mEAAmE;IACnE,gEAAgE;IAChE,MAAM,KAAK,GAAG,oBAAoB,CAAC;QAClC,GAAG;QACH,aAAa,EAAE,OAAO;QACtB,MAAM;QACN,SAAS,EAAE,GAAG,OAAO,IAAI,MAAM,EAAE;QACjC,OAAO,EAAE,GAAG,OAAO,OAAO;QAC1B,GAAG;KACH,CAAC,CAAC;IACH,IAAI,KAAK,EAAE,CAAC;QACX,OAAO,sBAAsB,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC,CAAC;IAChE,CAAC;IAED,wEAAwE;IACxE,8EAA8E;IAC9E,MAAM,OAAO,GAAG,MAAM,OAAO,CAC5B,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,OAAO,CAAC,EACtD,GAAG,EACH,GAAG,CACH,CAAC;IACF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC;IAC1D,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,CAAC,QAAQ,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACxE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC;IAC1D,CAAC;IACD,MAAM,IAAI,eAAe,CACxB,uBAAuB,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CACnF,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,sBAAsB,CAAC,MAMrC;IACA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAC3C,IAAI,CAAC,eAAe,IAAI,mBAAmB,OAAO,IAAI,MAAM,aAAa,CAAC,CAAC;IAE3E,0EAA0E;IAC1E,6EAA6E;IAC7E,MAAM,OAAO,CACZ,CAAC,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,EAC3D,GAAG,EACH,GAAG,CACH,CAAC;IAEF,yEAAyE;IACzE,+EAA+E;IAC/E,MAAM,MAAM,GAAG,6BAA6B,CAAC,GAAG,EAAE,GAAG,OAAO,OAAO,EAAE,GAAG,CAAC,CAAC;IAC1E,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC;IACxD,CAAC;IAED,6EAA6E;IAC7E,gFAAgF;IAChF,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,iBAAiB,GAAG,CACzB,MAAM,OAAO,CAAC,CAAC,WAAW,EAAE,GAAG,OAAO,IAAI,MAAM,EAAE,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAC9D,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEhB,+EAA+E;IAC/E,8EAA8E;IAC9E,+EAA+E;IAC/E,gFAAgF;IAChF,kEAAkE;IAClE,EAAE;IACF,6EAA6E;IAC7E,gFAAgF;IAChF,0EAA0E;IAC1E,+EAA+E;IAC/E,6EAA6E;IAC7E,2EAA2E;IAC3E,kEAAkE;IAClE,uEAAuE;IACvE,eAAe;IACf,IAAI,CAAC;QACJ,MAAM,MAAM,GAAG,sCAAsC,CAAC;YACrD,GAAG;YACH,MAAM;YACN,OAAO;YACP,OAAO,EAAE,GAAG,OAAO,OAAO;YAC1B,iBAAiB;YACjB,GAAG;YACH,IAAI;SACJ,CAAC,CAAC;QACH,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAChC,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAC,CAAC;QACxD,CAAC;IACF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACjE,IAAI,oBAAoB,CAAC,OAAO,CAAC,EAAE,CAAC;YACnC,0EAA0E;YAC1E,iEAAiE;YACjE,IAAI,CACH,kBAAkB,MAAM,OAAO,OAAO,+BAA+B;gBACpE,2DAA2D,CAC5D,CAAC;QACH,CAAC;aAAM,CAAC;YACP,0EAA0E;YAC1E,OAAO;gBACN,MAAM;gBACN,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,KAAK;gBACrB,WAAW,EAAE,OAAO;aACpB,CAAC;QACH,CAAC;IACF,CAAC;IACD,OAAO,EAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAC,CAAC;AACzD,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,oBAAoB,CAAC,OAAe;IAC5C,4EAA4E;IAC5E,IAAI,+CAA+C,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACd,CAAC;IACD,OAAO,0NAA0N,CAAC,IAAI,CACrO,OAAO,CACP,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,yBAAyB,CAAC,MAGlC;IACA,MAAM,EAAC,IAAI,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;IAChC,MAAM,OAAO,GACZ,IAAI,IAAI,mEAAmE;QAC3E,yEAAyE;QACzE,oBAAoB,QAAQ,CAAC,cAAc,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO;QACN,QAAQ,EAAE,CAAC;QACX,OAAO,EAAE,iBAAiB;QAC1B,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC;QACnC,OAAO;KACP,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,KAAK,UAAU,qBAAqB,CAAC,MAMpC;IACA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAC/C,MAAM,MAAM,GACX,uBAAuB,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB;QAC7E,GAAG,OAAO,4DAA4D;QACtE,0EAA0E,CAAC;IAC5E,IAAI,CAAC,MAAM,CAAC,CAAC;IACb,gFAAgF;IAChF,4EAA4E;IAC5E,kCAAkC;IAClC,OAAO,WAAW,CAAC,qCAAqC,CAAC;QACxD,GAAG;QACH,IAAI;QACJ,MAAM;QACN,OAAO;QACP,GAAG;QACH,IAAI;KACJ,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,KAAK,UAAU,wBAAwB,CAAC,MAOvC;IACA,MAAM,EAAC,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,EAAE,GAAG,EAAE,IAAI,EAAC,GAAG,MAAM,CAAC;IAC5D,MAAM,MAAM,GACX,uBAAuB,OAAO,IAAI,aAAa,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe;QAC5E,8BAA8B,OAAO,uBAAuB,WAAW,MAAM;QAC7E,4EAA4E;QAC5E,+EAA+E,CAAC;IACjF,IAAI,CAAC,MAAM,CAAC,CAAC;IACb,gFAAgF;IAChF,4EAA4E;IAC5E,kCAAkC;IAClC,OAAO,WAAW,CAAC,qCAAqC,CAAC;QACxD,GAAG;QACH,IAAI;QACJ,MAAM;QACN,OAAO;QACP,GAAG;QACH,IAAI;KACJ,CAAC,CAAC;AACJ,CAAC;AAED,0EAA0E;AAC1E,KAAK,UAAU,mBAAmB,CACjC,GAAW,EACX,GAAkC;IAElC,MAAM,GAAG,GAAG,MAAM,OAAO,CACxB,CAAC,cAAc,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,EAC9C,GAAG,EACH,GAAG,CACH,CAAC;IACF,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,CAAC;IACX,CAAC;IACD,OAAO,kBAAkB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;GAKG;AACH,KAAK,UAAU,mBAAmB,CACjC,IAAY,EACZ,OAAe,EACf,GAAW,EACX,GAAkC,EAClC,YAAY,GAAG,KAAK;IASpB,MAAM,OAAO,GAMP;QACL,aAAa;QACb,GAAG,CAAC,YAAY,CAAC,CAAC,CAAE,CAAC,eAAe,CAAW,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,aAAa;QACb,iBAAiB;QACjB,MAAM;KACN,CAAC;IACF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,GAAG,OAAO,SAAS,aAAa,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC;QACrE,IAAI,CAAC,MAAM,OAAO,CAAC,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxE,OAAO,MAAM,CAAC;QACf,CAAC;IACF,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,sEAAsE;AACtE,SAAS,OAAO,CACf,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,OAAO,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;AAC1C,CAAC;AAED,2EAA2E;AAC3E,KAAK,UAAU,OAAO,CACrB,IAAc,EACd,GAAW,EACX,GAAkC;IAElC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAC,GAAG,EAAC,CAAC,CAAC;IACvD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CACd,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,iBAAiB,MAAM,CAAC,MAAM,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAC/E,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC"}
|
|
1
|
+
{"version":3,"file":"start.js","sourceRoot":"","sources":["../src/start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-gate.d.ts","sourceRoot":"","sources":["../src/surface-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAC,MAAM,cAAc,CAAC;AAKvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC/B,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,SAAS,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAChC,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAE5E,wEAAwE;AACxE,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAgB5D;AAsCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CAW/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"surface-gate.d.ts","sourceRoot":"","sources":["../src/surface-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,OAAO,EAAC,MAAM,cAAc,CAAC;AAKvD,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,cAAc,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC/B,8BAA8B;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC3B,8EAA8E;IAC9E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,sDAAsD;IACtD,SAAS,EAAE,eAAe,EAAE,CAAC;CAC7B;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAChC,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uEAAuE;IACvE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+EAA+E;IAC/E,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,gBAAgB,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;AAE5E,wEAAwE;AACxE,qBAAa,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,WAAW,CAgB5D;AAsCD;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,WAAW,GAAG,WAAW,EAAE,CAW/D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA8DvD;AAED,4EAA4E;AAC5E,MAAM,WAAW,yBAAyB;IACzC,uEAAuE;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,CAAC;CACpD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,GAAE,yBAA8B,GACrC,WAAW,CA0Cb"}
|
package/dist/surface-gate.js
CHANGED
|
@@ -145,9 +145,16 @@ export function buildSurfacePrompt(item) {
|
|
|
145
145
|
` "note": "… (optional; your reasoning / findings prose lives HERE, not outside the object)"}`,
|
|
146
146
|
'```',
|
|
147
147
|
``,
|
|
148
|
-
`
|
|
149
|
-
`
|
|
150
|
-
|
|
148
|
+
`RULE — empty is VALID, absence is NOT. When there is nothing to ask (no open`,
|
|
149
|
+
`judgement to surface), you MUST STILL emit the JSON object, with`,
|
|
150
|
+
`\`"questions": []\` (an empty array); put any explanation of WHY in the`,
|
|
151
|
+
`\`note\` field INSIDE the object. Do NOT replace the object with a prose`,
|
|
152
|
+
`sentence like "no open questions", do NOT skip the emit, and do NOT drop the`,
|
|
153
|
+
`\`questions\` field. The parser (\`parseSurfaceEmit\`) enforces this: an empty`,
|
|
154
|
+
`\`questions\` array is a valid, honest "no open judgement" result; ABSENCE of`,
|
|
155
|
+
`the \`questions\` field is rejected as an unparseable emit — that failure is`,
|
|
156
|
+
`what strands the surface rung. Emitting \`{"questions": [], "note": "…"}\` is`,
|
|
157
|
+
`ALWAYS the safe, honest close for a nothing-to-ask item.`,
|
|
151
158
|
``,
|
|
152
159
|
// The SHARED defensive-JSON contract (the same hardening Gate-2's verdict
|
|
153
160
|
// prompt carries) — the surface rung hit the IDENTICAL unparseable-emit
|
package/dist/surface-gate.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"surface-gate.js","sourceRoot":"","sources":["../src/surface-gate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAe,MAAM,cAAc,CAAC;AACvD,OAAO,EAAC,uBAAuB,EAAC,MAAM,mBAAmB,CAAC;AAC1D,OAAO,EAAC,YAAY,EAAC,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAC,2BAA2B,EAAC,MAAM,qBAAqB,CAAC;AAiGhE,wEAAwE;AACxE,MAAM,OAAO,iBAAkB,SAAQ,KAAK;CAAG;AAE/C;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC9C,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACxD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,iBAAiB,CAC1B,wDAAwD,CACxD,CAAC;IACH,CAAC;IACD,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACd,MAAM,IAAI,iBAAiB,CAC1B,oCAAqC,GAAa,CAAC,OAAO,EAAE,CAC5D,CAAC;IACH,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,kFAAkF;AAClF,SAAS,YAAY,CAAC,MAAe;IACpC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACnD,MAAM,IAAI,iBAAiB,CAAC,gCAAgC,CAAC,CAAC;IAC/D,CAAC;IACD,MAAM,GAAG,GAAG,MAAiC,CAAC;IAC9C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,iBAAiB,CAC1B,iFAAiF,CACjF,CAAC;IACH,CAAC;IACD,MAAM,SAAS,GAAsB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5D,MAAM,IAAI,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAGzD,CAAC;QACF,MAAM,QAAQ,GAAoB;YACjC,QAAQ,EAAE,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;SAChE,CAAC;QACF,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YAC7D,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,CAAC;QACD,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;YAC7D,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QACjC,CAAC;QACD,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC,CAAC;IACH,OAAO;QACN,GAAG,CAAC,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,GAAG,CAAC,IAAI,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACzD,4EAA4E;QAC5E,0EAA0E;QAC1E,qDAAqD;QACrD,SAAS,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;KAC5D,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,cAAc,CAAC,IAAiB;IAC/C,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC/B,MAAM,EAAE,GAAgB,EAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAC,CAAC;QAC/C,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACxB,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC7B,EAAE,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QACxB,CAAC;QACD,OAAO,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAAY;IAC9C,OAAO;QACN,iEAAiE,IAAI,IAAI;QACzE,mDAAmD;QACnD,qEAAqE;QACrE,wEAAwE;QACxE,qEAAqE;QACrE,wEAAwE;QACxE,yEAAyE;QACzE,yCAAyC;QACzC,wCAAwC;QACxC,EAAE;QACF,8DAA8D;QAC9D,EAAE;QACF,0EAA0E;QAC1E,qEAAqE;QACrE,8EAA8E;QAC9E,4EAA4E;QAC5E,4EAA4E;QAC5E,uEAAuE;QACvE,YAAY;QACZ,EAAE;QACF,yEAAyE;QACzE,4EAA4E;QAC5E,6EAA6E;QAC7E,4EAA4E;QAC5E,yEAAyE;QACzE,EAAE;QACF,4EAA4E;QAC5E,oEAAoE;QACpE,4EAA4E;QAC5E,2EAA2E;QAC3E,qCAAqC;QACrC,EAAE;QACF,SAAS;QACT,aAAa,IAAI,IAAI;QACrB,iBAAiB;QACjB,sBAAsB;QACtB,qBAAqB;QACrB,8CAA8C;QAC9C,KAAK;QACL,8FAA8F;QAC9F,KAAK;QACL,EAAE;QACF,8EAA8E;QAC9E,gFAAgF;QAChF,
|
|
1
|
+
{"version":3,"file":"surface-gate.js","sourceRoot":"","sources":["../src/surface-gate.ts"],"names":[],"mappings":"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"}
|