@bvdm/delano 0.1.7 → 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/.delano/README.md +7 -0
- package/.delano/viewer/README.md +19 -0
- package/.delano/viewer/public/app.js +818 -0
- package/.delano/viewer/public/explorer.svg +3 -0
- package/.delano/viewer/public/index.html +21 -0
- package/.delano/viewer/public/markdown.svg +6 -0
- package/.delano/viewer/public/styles.css +1042 -0
- package/.delano/viewer/public/vscode.svg +24 -0
- package/.delano/viewer/server.js +389 -0
- package/HANDBOOK.md +65 -45
- package/README.md +10 -2
- package/assets/install-manifest.json +112 -35
- package/assets/payload/.agents/README.md +31 -6
- package/assets/payload/.agents/adapters/claude/README.md +22 -3
- package/assets/payload/.agents/adapters/codex/README.md +22 -3
- package/assets/payload/.agents/adapters/opencode/README.md +22 -3
- package/assets/payload/.agents/adapters/pi/README.md +22 -3
- package/assets/payload/.agents/common/log-safety.js +55 -0
- package/assets/payload/.agents/eval-fixtures/skill-output/invalid/missing-evidence/output.json +6 -0
- package/assets/payload/.agents/eval-fixtures/skill-output/valid/summary/output.json +7 -0
- package/assets/payload/.agents/fixtures/github/status-snapshot.json +6 -0
- package/assets/payload/.agents/fixtures/linear/issue-snapshot.json +6 -0
- package/assets/payload/.agents/hooks/bash-worktree-fix.sh +2 -1
- package/assets/payload/.agents/hooks/post-tool-logger.js +2 -1
- package/assets/payload/.agents/hooks/user-prompt-logger.js +17 -1
- package/assets/payload/.agents/logs/delivery-metrics.md +22 -0
- package/assets/payload/.agents/logs/schema.md +20 -1
- package/assets/payload/.agents/rules/delivery-modes.md +17 -0
- package/assets/payload/.agents/schemas/README.md +22 -0
- package/assets/payload/.agents/schemas/artifact-scope.json +237 -0
- package/assets/payload/.agents/schemas/artifacts/context.schema.json +11 -0
- package/assets/payload/.agents/schemas/artifacts/decision_log.schema.json +12 -0
- package/assets/payload/.agents/schemas/artifacts/evidence.schema.json +17 -0
- package/assets/payload/.agents/schemas/artifacts/plan.schema.json +83 -0
- package/assets/payload/.agents/schemas/artifacts/spec.schema.json +101 -0
- package/assets/payload/.agents/schemas/artifacts/task.schema.json +121 -0
- package/assets/payload/.agents/schemas/artifacts/update.schema.json +12 -0
- package/assets/payload/.agents/schemas/artifacts/workstream.schema.json +66 -0
- package/assets/payload/.agents/schemas/evidence-map.json +53 -0
- package/assets/payload/.agents/schemas/learning/closeout-learning-proposal.schema.json +20 -0
- package/assets/payload/.agents/schemas/learning/delivery-metric-event.schema.json +21 -0
- package/assets/payload/.agents/schemas/leases/lease.schema.json +39 -0
- package/assets/payload/.agents/schemas/metrics/delivery-event.schema.json +29 -0
- package/assets/payload/.agents/schemas/metrics/delivery-events.schema.json +49 -0
- package/assets/payload/.agents/schemas/operating-modes.json +42 -0
- package/assets/payload/.agents/schemas/status-transitions.json +31 -0
- package/assets/payload/.agents/schemas/sync/drift-report.schema.json +25 -0
- package/assets/payload/.agents/schemas/sync/drift-taxonomy.json +38 -0
- package/assets/payload/.agents/schemas/sync/sync-map.schema.json +39 -0
- package/assets/payload/.agents/scripts/README.md +1 -0
- package/assets/payload/.agents/scripts/audit-context-files.mjs +54 -0
- package/assets/payload/.agents/scripts/audit-context-scoring.mjs +14 -0
- package/assets/payload/.agents/scripts/build-drift-report.mjs +133 -0
- package/assets/payload/.agents/scripts/check-artifact-schemas.mjs +116 -0
- package/assets/payload/.agents/scripts/check-closeout-learning-proposals.mjs +23 -0
- package/assets/payload/.agents/scripts/check-context-audit.mjs +61 -0
- package/assets/payload/.agents/scripts/check-delivery-metric-events.mjs +35 -0
- package/assets/payload/.agents/scripts/check-delivery-metrics.mjs +52 -0
- package/assets/payload/.agents/scripts/check-evidence-map.mjs +143 -0
- package/assets/payload/.agents/scripts/check-github-status-inspection.mjs +93 -0
- package/assets/payload/.agents/scripts/check-github-sync.mjs +159 -0
- package/assets/payload/.agents/scripts/check-handoff-summaries.mjs +57 -0
- package/assets/payload/.agents/scripts/check-lease-conflicts.mjs +24 -0
- package/assets/payload/.agents/scripts/check-lease-contracts.mjs +17 -0
- package/assets/payload/.agents/scripts/check-linear-issue-inspection.mjs +63 -0
- package/assets/payload/.agents/scripts/check-local-sync-map.mjs +151 -0
- package/assets/payload/.agents/scripts/check-log-safety.sh +62 -0
- package/assets/payload/.agents/scripts/check-operating-modes.mjs +99 -0
- package/assets/payload/.agents/scripts/check-path-standards.sh +1 -1
- package/assets/payload/.agents/scripts/check-skill-output-evals.mjs +13 -0
- package/assets/payload/.agents/scripts/check-status-transitions.mjs +169 -0
- package/assets/payload/.agents/scripts/check-strict-fixtures.mjs +140 -0
- package/assets/payload/.agents/scripts/check-sync-schemas.mjs +52 -0
- package/assets/payload/.agents/scripts/check-text-safety.mjs +158 -0
- package/assets/payload/.agents/scripts/check-worktree-health.mjs +100 -0
- package/assets/payload/.agents/scripts/fix-path-standards.sh +1 -1
- package/assets/payload/.agents/scripts/inspect-github-sync.mjs +108 -0
- package/assets/payload/.agents/scripts/lease-manager.mjs +88 -0
- package/assets/payload/.agents/scripts/log-event.js +3 -0
- package/assets/payload/.agents/scripts/plan-sync-repairs.mjs +66 -0
- package/assets/payload/.agents/scripts/pm/validate.sh +656 -2
- package/assets/payload/.agents/scripts/propose-closeout-learning.mjs +20 -0
- package/assets/payload/.agents/scripts/read-local-sync-map.mjs +135 -0
- package/assets/payload/.agents/scripts/select-next-task.mjs +22 -0
- package/assets/payload/.agents/scripts/summarize-project-metrics.mjs +15 -0
- package/assets/payload/.agents/skills/closeout-skill/SKILL.md +3 -0
- package/assets/payload/.agents/skills/closeout-skill/references/runbook.md +5 -2
- package/assets/payload/.agents/skills/closeout-skill/templates/closure-checklist.md +2 -0
- package/assets/payload/.agents/skills/closeout-skill/templates/learning-proposal.md +21 -0
- package/assets/payload/.agents/skills/closeout-skill/templates/learning-proposals.md +25 -0
- package/assets/payload/.agents/validation-fixtures/strict/invalid/broken-dependencies/dependency.md +18 -0
- package/assets/payload/.agents/validation-fixtures/strict/invalid/broken-dependencies/task.md +24 -0
- package/assets/payload/.agents/validation-fixtures/strict/invalid/invalid-transition/task.md +20 -0
- package/assets/payload/.agents/validation-fixtures/strict/invalid/missing-evidence/task.md +27 -0
- package/assets/payload/.agents/validation-fixtures/strict/invalid/path-leak/task.md +27 -0
- package/assets/payload/.agents/validation-fixtures/strict/invalid/stale-context/context.md +9 -0
- package/assets/payload/.agents/validation-fixtures/strict/manifest.json +11 -0
- package/assets/payload/.agents/validation-fixtures/strict/valid/minimal-project/task.md +27 -0
- package/assets/payload/.delano/viewer/README.md +19 -0
- package/assets/payload/.delano/viewer/public/app.js +818 -0
- package/assets/payload/.delano/viewer/public/explorer.svg +3 -0
- package/assets/payload/.delano/viewer/public/index.html +21 -0
- package/assets/payload/.delano/viewer/public/markdown.svg +6 -0
- package/assets/payload/.delano/viewer/public/styles.css +1042 -0
- package/assets/payload/.delano/viewer/public/vscode.svg +24 -0
- package/assets/payload/.delano/viewer/server.js +389 -0
- package/assets/payload/.project/templates/plan.md +1 -1
- package/assets/payload/.project/templates/spec.md +1 -1
- package/assets/payload/.project/templates/task.md +1 -0
- package/assets/payload/HANDBOOK.md +65 -45
- package/package.json +31 -2
- package/src/cli/commands/viewer.js +81 -0
- package/src/cli/index.js +8 -0
package/HANDBOOK.md
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## First Edition, v3
|
|
4
4
|
|
|
5
|
-
Version: 3.
|
|
6
|
-
Last updated: 2026-04
|
|
5
|
+
Version: 3.2
|
|
6
|
+
Last updated: 2026-05-04
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -56,7 +56,7 @@ Its core objective is:
|
|
|
56
56
|
|
|
57
57
|
### 1.1 Primary flow
|
|
58
58
|
|
|
59
|
-
**Outcome ->
|
|
59
|
+
**Outcome -> Planned Spec -> Probe Decision -> Active Spec -> Delivery Project -> Workstreams -> Tasks -> Linear Issues -> PRs -> Release -> Learnings**
|
|
60
60
|
|
|
61
61
|
### 1.2 Design principles
|
|
62
62
|
|
|
@@ -201,7 +201,7 @@ Recommended naming:
|
|
|
201
201
|
|
|
202
202
|
Operational rule:
|
|
203
203
|
|
|
204
|
-
- Every task issue must carry one workstream identifier.
|
|
204
|
+
- Every task issue must carry one workstream identifier in task frontmatter (`workstream: WS-A`) and the corresponding Linear workstream label (`ws-a`).
|
|
205
205
|
|
|
206
206
|
#### 4.2.5 Task -> Issue
|
|
207
207
|
|
|
@@ -296,7 +296,7 @@ A coding agent is Delano-compatible if it can:
|
|
|
296
296
|
name: <project-name>
|
|
297
297
|
slug: <kebab-case>
|
|
298
298
|
owner: <person-or-team>
|
|
299
|
-
status:
|
|
299
|
+
status: planned|active|complete|deferred
|
|
300
300
|
created: <ISO8601 UTC>
|
|
301
301
|
updated: <ISO8601 UTC>
|
|
302
302
|
outcome: <measurable target>
|
|
@@ -325,13 +325,13 @@ Required sections:
|
|
|
325
325
|
|
|
326
326
|
```yaml
|
|
327
327
|
name: <project-name>
|
|
328
|
-
status: planned|
|
|
328
|
+
status: planned|active|done|deferred
|
|
329
329
|
lead: <person>
|
|
330
330
|
created: <ISO8601 UTC>
|
|
331
331
|
updated: <ISO8601 UTC>
|
|
332
332
|
linear_project_id: <id>
|
|
333
333
|
risk_level: low|medium|high
|
|
334
|
-
spec_status_at_plan_time:
|
|
334
|
+
spec_status_at_plan_time: planned|active|complete|deferred
|
|
335
335
|
```
|
|
336
336
|
|
|
337
337
|
Required sections:
|
|
@@ -351,7 +351,8 @@ Required sections:
|
|
|
351
351
|
```yaml
|
|
352
352
|
id: T-001
|
|
353
353
|
name: <task-title>
|
|
354
|
-
status:
|
|
354
|
+
status: ready|in-progress|blocked|done|deferred
|
|
355
|
+
workstream: WS-A
|
|
355
356
|
created: <ISO8601 UTC>
|
|
356
357
|
updated: <ISO8601 UTC>
|
|
357
358
|
linear_issue_id: <id-or-empty>
|
|
@@ -360,8 +361,8 @@ github_pr: <url-or-empty>
|
|
|
360
361
|
depends_on: []
|
|
361
362
|
conflicts_with: []
|
|
362
363
|
parallel: true|false
|
|
363
|
-
priority: low|medium|high
|
|
364
|
-
estimate:
|
|
364
|
+
priority: low|medium|high
|
|
365
|
+
estimate: S|M|L|XL
|
|
365
366
|
```
|
|
366
367
|
|
|
367
368
|
Required sections:
|
|
@@ -376,7 +377,7 @@ Required sections:
|
|
|
376
377
|
|
|
377
378
|
- `created` immutable
|
|
378
379
|
- `updated` real UTC system timestamp
|
|
379
|
-
- probe decision explicit before spec
|
|
380
|
+
- probe decision explicit before spec activation
|
|
380
381
|
- dependency graph acyclic before execution
|
|
381
382
|
- no absolute path leakage in shared output
|
|
382
383
|
|
|
@@ -384,66 +385,71 @@ Required sections:
|
|
|
384
385
|
|
|
385
386
|
## 7) Status models and transition policy
|
|
386
387
|
|
|
387
|
-
### 7.1 Why
|
|
388
|
+
### 7.1 Why compact runtime states exist
|
|
388
389
|
|
|
389
|
-
|
|
390
|
+
The v0.2 runtime uses compact status sets that are enforced by schemas and validation:
|
|
390
391
|
|
|
391
|
-
- `
|
|
392
|
-
- `
|
|
393
|
-
- `
|
|
392
|
+
- `planned` means a spec, plan, or workstream is defined but not actively being executed.
|
|
393
|
+
- `ready` means a task is executable and should not carry unresolved local dependencies.
|
|
394
|
+
- `in-progress` means implementation has started.
|
|
395
|
+
- `blocked` exposes dependency constraints explicitly.
|
|
396
|
+
- `done` and `complete` are terminal success states for delivery plans/tasks and specs respectively.
|
|
397
|
+
- `deferred` is the terminal non-completion state for postponed or canceled work.
|
|
398
|
+
|
|
399
|
+
Idea triage belongs outside executable task files. Review is a gate recorded in evidence, updates, quality notes, or PR state; it is not a canonical v0.2 task status.
|
|
394
400
|
|
|
395
401
|
### 7.2 Lifecycle definitions
|
|
396
402
|
|
|
397
403
|
#### Spec
|
|
398
404
|
|
|
399
|
-
`
|
|
400
|
-
optional terminal: `
|
|
405
|
+
`planned -> active -> complete`
|
|
406
|
+
optional terminal: `deferred`
|
|
401
407
|
|
|
402
|
-
Probe decision rule while spec is `
|
|
408
|
+
Probe decision rule while spec is `planned`:
|
|
403
409
|
|
|
404
|
-
- `probe_required: false` allows
|
|
405
|
-
- `probe_required: true` requires a Prototype Probe and recorded findings before
|
|
410
|
+
- `probe_required: false` allows activation once other discovery gates pass.
|
|
411
|
+
- `probe_required: true` requires a Prototype Probe and recorded findings before activation.
|
|
406
412
|
|
|
407
413
|
#### Delivery Project
|
|
408
414
|
|
|
409
|
-
`planned ->
|
|
410
|
-
optional terminal: `
|
|
415
|
+
`planned -> active -> done`
|
|
416
|
+
optional terminal: `deferred`
|
|
411
417
|
|
|
412
418
|
#### Task
|
|
413
419
|
|
|
414
|
-
`
|
|
415
|
-
optional branches: `blocked`, `
|
|
420
|
+
`ready -> in-progress -> done`
|
|
421
|
+
optional branches: `blocked`, `deferred`
|
|
416
422
|
|
|
417
423
|
### 7.3 Transition policy
|
|
418
424
|
|
|
419
|
-
- No `in-progress` with unmet
|
|
425
|
+
- No `ready`, `in-progress`, or `done` transition with unmet local dependencies.
|
|
420
426
|
- No `done` without evidence completion.
|
|
421
427
|
- No project `done` with unresolved required tasks.
|
|
422
|
-
- No spec `
|
|
423
|
-
- No spec `
|
|
428
|
+
- No spec `active` without explicit probe decision fields.
|
|
429
|
+
- No spec `active` with unresolved required probe findings.
|
|
424
430
|
- No spec `complete` without outcome review.
|
|
425
431
|
|
|
432
|
+
Current artifact scans and proposed transitions are strict for local task dependencies: `ready`, `in-progress`, and `done` tasks fail validation when they depend on unresolved local tasks.
|
|
433
|
+
|
|
426
434
|
### 7.4 Review semantics
|
|
427
435
|
|
|
428
|
-
|
|
436
|
+
Review is a quality gate before closure. It may include one or more:
|
|
429
437
|
|
|
430
438
|
- code review
|
|
431
439
|
- quality gate verification
|
|
432
440
|
- product acceptance for user-visible changes
|
|
433
441
|
|
|
434
|
-
Teams must define exact review semantics in local policy.
|
|
442
|
+
Teams must define exact review semantics in local policy and record the result in evidence, updates, or PR state.
|
|
435
443
|
|
|
436
444
|
### 7.5 Explicit Delano -> Linear status mapping
|
|
437
445
|
|
|
438
446
|
| Delano task status | Preferred Linear state |
|
|
439
447
|
|---|---|
|
|
440
|
-
| backlog | Triage or Backlog |
|
|
441
448
|
| ready | Todo |
|
|
442
449
|
| in-progress | In Progress |
|
|
443
|
-
| review | In Review |
|
|
444
450
|
| done | Done |
|
|
445
451
|
| blocked | Blocked (if exists) or Todo + blocked relation/label |
|
|
446
|
-
|
|
|
452
|
+
| deferred | Canceled, Icebox, or Backlog depending on team policy |
|
|
447
453
|
|
|
448
454
|
If team workflow names differ, maintain this semantic mapping in sync rules.
|
|
449
455
|
|
|
@@ -458,6 +464,17 @@ If team workflow names differ, maintain this semantic mapping in sync rules.
|
|
|
458
464
|
- **Rules**: constraints and policy
|
|
459
465
|
- **Hooks**: runtime tracking and guardrails
|
|
460
466
|
|
|
467
|
+
### 8.8 v0.2 runtime foundation
|
|
468
|
+
|
|
469
|
+
v0.2 adds enforceable local runtime surfaces around the handbook process:
|
|
470
|
+
|
|
471
|
+
- **Operating modes**: Mode 0 patch, Mode 1 scoped change, Mode 2 feature, Mode 3 uncertain feature, and Mode 4 multi-stream. Modes are additive hints for task depth and required proof, not a reason to skip safety gates.
|
|
472
|
+
- **Contract validation**: schemas and validators cover artifact scope, schema shape, operating modes, status transitions, evidence maps, strict fixtures, sync scaffolding, leases, metrics, text safety, context audit, and skill-output evals.
|
|
473
|
+
- **Evidence expectations**: done tasks need checked acceptance criteria plus implementation or validation evidence. v0.2 evidence mapping remains markdown-based; full criterion-to-ledger instance validation is a later maturity gate.
|
|
474
|
+
- **Dry-run sync**: GitHub and Linear sync surfaces inspect, classify drift, and produce repair plans without remote mutation unless a future explicit apply gate is approved.
|
|
475
|
+
- **Lease semantics**: multi-agent work uses leases with conflict zones, lifecycle state, and handoff summaries. Conflict checks must run before overlapping work proceeds.
|
|
476
|
+
- **Release gates**: `npm run build:assets`, package-manifest drift checks, PM validation, and `npm test` are the local release baseline. Formal CI publishing, enterprise state-machine orchestration, and non-mocked Linear behavior remain later maturity gates.
|
|
477
|
+
|
|
461
478
|
### 8.2 Skill contract standard
|
|
462
479
|
|
|
463
480
|
Each skill must define:
|
|
@@ -476,7 +493,7 @@ Each skill must define:
|
|
|
476
493
|
|
|
477
494
|
```yaml
|
|
478
495
|
name: breakdown-skill
|
|
479
|
-
intent: decompose
|
|
496
|
+
intent: decompose active plan into atomic tasks
|
|
480
497
|
inputs:
|
|
481
498
|
- spec_path
|
|
482
499
|
- plan_path
|
|
@@ -549,6 +566,7 @@ script_hooks:
|
|
|
549
566
|
| `query-log.sh` | query change stream |
|
|
550
567
|
| `test-and-log.sh` | capture test execution logs |
|
|
551
568
|
| `check-path-standards.sh` | path/privacy enforcement |
|
|
569
|
+
| `check-text-safety.mjs` | hidden/bidirectional Unicode control enforcement |
|
|
552
570
|
| `fix-path-standards.sh` | path normalization |
|
|
553
571
|
| `git-sparse-download.sh` | sparse external resource retrieval |
|
|
554
572
|
|
|
@@ -598,7 +616,7 @@ This keeps rapid learning without weakening team governance.
|
|
|
598
616
|
|
|
599
617
|
**Goal**
|
|
600
618
|
|
|
601
|
-
- define a measurable outcome,
|
|
619
|
+
- define a measurable outcome, create the planned Spec, and make the probe decision explicit
|
|
602
620
|
|
|
603
621
|
**Entry criteria**
|
|
604
622
|
|
|
@@ -611,7 +629,7 @@ This keeps rapid learning without weakening team governance.
|
|
|
611
629
|
|
|
612
630
|
**Exit artifacts**
|
|
613
631
|
|
|
614
|
-
-
|
|
632
|
+
- planned `spec.md` with uncertainty and probe decision recorded
|
|
615
633
|
|
|
616
634
|
**Gate**
|
|
617
635
|
|
|
@@ -624,11 +642,11 @@ This keeps rapid learning without weakening team governance.
|
|
|
624
642
|
|
|
625
643
|
**Goal**
|
|
626
644
|
|
|
627
|
-
- retire or bound material uncertainty before spec
|
|
645
|
+
- retire or bound material uncertainty before spec activation
|
|
628
646
|
|
|
629
647
|
**Entry criteria**
|
|
630
648
|
|
|
631
|
-
- `spec.md` is still `
|
|
649
|
+
- `spec.md` is still `planned`
|
|
632
650
|
- `probe_required: true`
|
|
633
651
|
|
|
634
652
|
**Primary components**
|
|
@@ -640,14 +658,14 @@ This keeps rapid learning without weakening team governance.
|
|
|
640
658
|
|
|
641
659
|
**Exit artifacts**
|
|
642
660
|
|
|
643
|
-
- updated
|
|
644
|
-
- probe findings and
|
|
661
|
+
- updated planned `spec.md`
|
|
662
|
+
- probe findings and activation recommendation
|
|
645
663
|
|
|
646
664
|
**Gate**
|
|
647
665
|
|
|
648
666
|
- probe findings recorded
|
|
649
667
|
- touched surfaces and footguns explicit
|
|
650
|
-
-
|
|
668
|
+
- activation recommendation clear
|
|
651
669
|
|
|
652
670
|
### Stage C: Planning
|
|
653
671
|
|
|
@@ -657,7 +675,7 @@ This keeps rapid learning without weakening team governance.
|
|
|
657
675
|
|
|
658
676
|
**Entry criteria**
|
|
659
677
|
|
|
660
|
-
- `spec.md`
|
|
678
|
+
- `spec.md` active
|
|
661
679
|
|
|
662
680
|
**Primary components**
|
|
663
681
|
|
|
@@ -980,6 +998,7 @@ Every update should answer:
|
|
|
980
998
|
- immutable creation timestamps
|
|
981
999
|
- UTC timestamp policy
|
|
982
1000
|
- path privacy enforcement
|
|
1001
|
+
- hidden/bidirectional Unicode control enforcement
|
|
983
1002
|
- GitHub remote safety checks
|
|
984
1003
|
|
|
985
1004
|
### 14.2 Default team policy pack
|
|
@@ -1172,7 +1191,7 @@ This section is designed for live planning and execution meetings.
|
|
|
1172
1191
|
name: <project-name>
|
|
1173
1192
|
slug: <kebab-case>
|
|
1174
1193
|
owner: <person-or-team>
|
|
1175
|
-
status:
|
|
1194
|
+
status: planned
|
|
1176
1195
|
created: <ISO8601 UTC>
|
|
1177
1196
|
updated: <ISO8601 UTC>
|
|
1178
1197
|
outcome: <measurable target>
|
|
@@ -1223,7 +1242,7 @@ created: <ISO8601 UTC>
|
|
|
1223
1242
|
updated: <ISO8601 UTC>
|
|
1224
1243
|
linear_project_id:
|
|
1225
1244
|
risk_level: <low|medium|high>
|
|
1226
|
-
spec_status_at_plan_time: <
|
|
1245
|
+
spec_status_at_plan_time: <planned|active|complete|deferred>
|
|
1227
1246
|
---
|
|
1228
1247
|
|
|
1229
1248
|
# Delivery Plan: <project-name>
|
|
@@ -1278,6 +1297,7 @@ updated: <ISO8601 UTC>
|
|
|
1278
1297
|
id: T-001
|
|
1279
1298
|
name: <task-title>
|
|
1280
1299
|
status: ready
|
|
1300
|
+
workstream: WS-A
|
|
1281
1301
|
created: <ISO8601 UTC>
|
|
1282
1302
|
updated: <ISO8601 UTC>
|
|
1283
1303
|
linear_issue_id:
|
|
@@ -1425,7 +1445,7 @@ For each active epic scope:
|
|
|
1425
1445
|
|
|
1426
1446
|
#### Step 4: map statuses
|
|
1427
1447
|
|
|
1428
|
-
- `open` -> `
|
|
1448
|
+
- `open` -> `ready` when executable, or `deferred` when not actionable in the current delivery scope
|
|
1429
1449
|
- `in-progress` -> `in-progress`
|
|
1430
1450
|
- `closed` -> `done`
|
|
1431
1451
|
|
package/README.md
CHANGED
|
@@ -10,13 +10,13 @@ Delano is an agent-agnostic delivery runtime. It keeps planning, execution, and
|
|
|
10
10
|
- `.claude/` is a compatibility mirror of `.agents/`, not a second runtime.
|
|
11
11
|
- `.delano/` is an optional UI layer.
|
|
12
12
|
|
|
13
|
-
The npm package is intentionally thin. It distributes the approved runtime payload and wraps the existing shell-based PM scripts. It does not replace the handbook, the file contracts, or the underlying bash/Python execution layer.
|
|
13
|
+
The npm package is intentionally thin. It distributes the approved runtime payload, includes the read-only viewer UI, and wraps the existing shell-based PM scripts. It does not replace the handbook, the file contracts, or the underlying bash/Python execution layer.
|
|
14
14
|
|
|
15
15
|
## Delano CLI
|
|
16
16
|
|
|
17
17
|
- Package: `@bvdm/delano`
|
|
18
18
|
- Binary: `delano`
|
|
19
|
-
- Commands: `onboarding`, `install`, `init`, `validate`, `status`, `next`
|
|
19
|
+
- Commands: `onboarding`, `install`, `viewer`, `init`, `validate`, `status`, `next`
|
|
20
20
|
- Primary v1.1 goal: bootstrap a repo safely, then stay out of the way
|
|
21
21
|
|
|
22
22
|
## One-command bootstrap
|
|
@@ -59,6 +59,7 @@ Typical flow in a repository:
|
|
|
59
59
|
```bash
|
|
60
60
|
cd /path/to/repo
|
|
61
61
|
delano install --yes
|
|
62
|
+
delano viewer
|
|
62
63
|
delano validate
|
|
63
64
|
delano init <slug> "<Project Name>" [owner] [lead]
|
|
64
65
|
```
|
|
@@ -66,6 +67,7 @@ delano init <slug> "<Project Name>" [owner] [lead]
|
|
|
66
67
|
Command intent:
|
|
67
68
|
|
|
68
69
|
- `delano install` bootstraps the Delano runtime into the current repository
|
|
70
|
+
- `delano viewer` launches the read-only local UI for `.project` contracts
|
|
69
71
|
- `delano validate` checks whether the runtime and required assets are in place
|
|
70
72
|
- `delano init` creates a delivery project inside a repository that already has Delano installed
|
|
71
73
|
|
|
@@ -96,6 +98,7 @@ If you bootstrap with one-shot `npx`, keep using `npx` for wrapper commands:
|
|
|
96
98
|
|
|
97
99
|
```bash
|
|
98
100
|
npx -y @bvdm/delano@latest onboarding --approve-agents-analysis
|
|
101
|
+
npx -y @bvdm/delano@latest viewer
|
|
99
102
|
npx -y @bvdm/delano@latest validate
|
|
100
103
|
npx -y @bvdm/delano@latest status
|
|
101
104
|
npx -y @bvdm/delano@latest next -- --all
|
|
@@ -105,6 +108,7 @@ If the package is installed locally or globally, run these inside the target rep
|
|
|
105
108
|
|
|
106
109
|
```bash
|
|
107
110
|
delano onboarding
|
|
111
|
+
delano viewer
|
|
108
112
|
delano validate
|
|
109
113
|
delano status
|
|
110
114
|
delano next -- --all
|
|
@@ -119,6 +123,8 @@ bash .agents/scripts/pm/status.sh
|
|
|
119
123
|
bash .agents/scripts/pm/next.sh --all
|
|
120
124
|
```
|
|
121
125
|
|
|
126
|
+
The viewer is packaged with `@bvdm/delano` and serves the selected repository's `.project` files read-only. It defaults to `http://127.0.0.1:3977`; set `DELANO_VIEWER_PORT` or `PORT` to use another port.
|
|
127
|
+
|
|
122
128
|
## Required dependencies
|
|
123
129
|
|
|
124
130
|
Delano v1.1 assumes these tools are available:
|
|
@@ -142,6 +148,7 @@ The CLI does not bundle its own shell or Python runtime.
|
|
|
142
148
|
- it does not install or overwrite repo-root Git config files such as `.gitignore` or `.gitattributes`
|
|
143
149
|
|
|
144
150
|
The base install payload intentionally excludes top-level adapter entry docs such as `AGENTS.md`, `CLAUDE.md`, `CODEX.md`, `OPENCODE.md`, and `PI.md`. Those remain opt-in only.
|
|
151
|
+
The base install payload includes `.delano/`, including the read-only viewer UI.
|
|
145
152
|
The installable `.project/context/` pack is seeded from generic templates during packaging; it does not ship Delano's own repo-specific context files into consumer repositories.
|
|
146
153
|
After install, the recommended first step is `delano onboarding`, which requires explicit approval before it reviews `AGENTS.md`.
|
|
147
154
|
|
|
@@ -164,6 +171,7 @@ When working in this repository:
|
|
|
164
171
|
- use the Delano status model and evidence discipline from `HANDBOOK.md`
|
|
165
172
|
- keep sync and quality gates aligned with the handbook
|
|
166
173
|
- use `delano init <slug> "<Project Name>" [owner] [lead]` to scaffold a new delivery project when needed
|
|
174
|
+
- use `delano viewer` to inspect `.project/` through the read-only local UI
|
|
167
175
|
```
|
|
168
176
|
|
|
169
177
|
## v1.1 boundaries
|
|
@@ -1,32 +1,88 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 2,
|
|
3
3
|
"files": [
|
|
4
|
+
".agents/README.md",
|
|
4
5
|
".agents/adapters/claude/README.md",
|
|
5
6
|
".agents/adapters/codex/README.md",
|
|
6
7
|
".agents/adapters/opencode/README.md",
|
|
7
8
|
".agents/adapters/pi/README.md",
|
|
8
9
|
".agents/common/README.md",
|
|
10
|
+
".agents/common/log-safety.js",
|
|
11
|
+
".agents/eval-fixtures/skill-output/invalid/missing-evidence/output.json",
|
|
12
|
+
".agents/eval-fixtures/skill-output/valid/summary/output.json",
|
|
13
|
+
".agents/fixtures/github/status-snapshot.json",
|
|
14
|
+
".agents/fixtures/linear/issue-snapshot.json",
|
|
15
|
+
".agents/hooks/README.md",
|
|
9
16
|
".agents/hooks/bash-worktree-fix.sh",
|
|
10
17
|
".agents/hooks/post-tool-logger.js",
|
|
11
|
-
".agents/hooks/README.md",
|
|
12
18
|
".agents/hooks/session-tracker.js",
|
|
13
19
|
".agents/hooks/user-prompt-logger.js",
|
|
14
20
|
".agents/logs/.gitkeep",
|
|
21
|
+
".agents/logs/delivery-metrics.md",
|
|
15
22
|
".agents/logs/schema.md",
|
|
16
|
-
".agents/README.md",
|
|
23
|
+
".agents/rules/README.md",
|
|
17
24
|
".agents/rules/agent-coordination.md",
|
|
18
25
|
".agents/rules/datetime.md",
|
|
26
|
+
".agents/rules/delivery-modes.md",
|
|
19
27
|
".agents/rules/frontmatter-operations.md",
|
|
20
28
|
".agents/rules/github-operations.md",
|
|
21
29
|
".agents/rules/path-standards.md",
|
|
22
|
-
".agents/rules/README.md",
|
|
23
30
|
".agents/rules/test-execution.md",
|
|
24
31
|
".agents/rules/worktree-operations.md",
|
|
32
|
+
".agents/schemas/README.md",
|
|
33
|
+
".agents/schemas/artifact-scope.json",
|
|
34
|
+
".agents/schemas/artifacts/context.schema.json",
|
|
35
|
+
".agents/schemas/artifacts/decision_log.schema.json",
|
|
36
|
+
".agents/schemas/artifacts/evidence.schema.json",
|
|
37
|
+
".agents/schemas/artifacts/plan.schema.json",
|
|
38
|
+
".agents/schemas/artifacts/spec.schema.json",
|
|
39
|
+
".agents/schemas/artifacts/task.schema.json",
|
|
40
|
+
".agents/schemas/artifacts/update.schema.json",
|
|
41
|
+
".agents/schemas/artifacts/workstream.schema.json",
|
|
42
|
+
".agents/schemas/evidence-map.json",
|
|
43
|
+
".agents/schemas/learning/closeout-learning-proposal.schema.json",
|
|
44
|
+
".agents/schemas/learning/delivery-metric-event.schema.json",
|
|
45
|
+
".agents/schemas/leases/lease.schema.json",
|
|
46
|
+
".agents/schemas/metrics/delivery-event.schema.json",
|
|
47
|
+
".agents/schemas/metrics/delivery-events.schema.json",
|
|
48
|
+
".agents/schemas/operating-modes.json",
|
|
49
|
+
".agents/schemas/status-transitions.json",
|
|
50
|
+
".agents/schemas/sync/drift-report.schema.json",
|
|
51
|
+
".agents/schemas/sync/drift-taxonomy.json",
|
|
52
|
+
".agents/schemas/sync/sync-map.schema.json",
|
|
53
|
+
".agents/scripts/README.md",
|
|
54
|
+
".agents/scripts/audit-context-files.mjs",
|
|
55
|
+
".agents/scripts/audit-context-scoring.mjs",
|
|
56
|
+
".agents/scripts/build-drift-report.mjs",
|
|
57
|
+
".agents/scripts/check-artifact-schemas.mjs",
|
|
58
|
+
".agents/scripts/check-closeout-learning-proposals.mjs",
|
|
59
|
+
".agents/scripts/check-context-audit.mjs",
|
|
60
|
+
".agents/scripts/check-delivery-metric-events.mjs",
|
|
61
|
+
".agents/scripts/check-delivery-metrics.mjs",
|
|
62
|
+
".agents/scripts/check-evidence-map.mjs",
|
|
63
|
+
".agents/scripts/check-github-status-inspection.mjs",
|
|
64
|
+
".agents/scripts/check-github-sync.mjs",
|
|
65
|
+
".agents/scripts/check-handoff-summaries.mjs",
|
|
66
|
+
".agents/scripts/check-lease-conflicts.mjs",
|
|
67
|
+
".agents/scripts/check-lease-contracts.mjs",
|
|
68
|
+
".agents/scripts/check-linear-issue-inspection.mjs",
|
|
69
|
+
".agents/scripts/check-local-sync-map.mjs",
|
|
70
|
+
".agents/scripts/check-log-safety.sh",
|
|
71
|
+
".agents/scripts/check-operating-modes.mjs",
|
|
25
72
|
".agents/scripts/check-path-standards.sh",
|
|
73
|
+
".agents/scripts/check-skill-output-evals.mjs",
|
|
74
|
+
".agents/scripts/check-status-transitions.mjs",
|
|
75
|
+
".agents/scripts/check-strict-fixtures.mjs",
|
|
76
|
+
".agents/scripts/check-sync-schemas.mjs",
|
|
77
|
+
".agents/scripts/check-text-safety.mjs",
|
|
78
|
+
".agents/scripts/check-worktree-health.mjs",
|
|
26
79
|
".agents/scripts/fix-path-standards.sh",
|
|
27
80
|
".agents/scripts/git-sparse-download.sh",
|
|
81
|
+
".agents/scripts/inspect-github-sync.mjs",
|
|
82
|
+
".agents/scripts/lease-manager.mjs",
|
|
28
83
|
".agents/scripts/log-event.js",
|
|
29
84
|
".agents/scripts/log-event.sh",
|
|
85
|
+
".agents/scripts/plan-sync-repairs.mjs",
|
|
30
86
|
".agents/scripts/pm/blocked.sh",
|
|
31
87
|
".agents/scripts/pm/epic-list.sh",
|
|
32
88
|
".agents/scripts/pm/in-progress.sh",
|
|
@@ -37,56 +93,87 @@
|
|
|
37
93
|
".agents/scripts/pm/standup.sh",
|
|
38
94
|
".agents/scripts/pm/status.sh",
|
|
39
95
|
".agents/scripts/pm/validate.sh",
|
|
96
|
+
".agents/scripts/propose-closeout-learning.mjs",
|
|
40
97
|
".agents/scripts/query-log.sh",
|
|
41
|
-
".agents/scripts/
|
|
98
|
+
".agents/scripts/read-local-sync-map.mjs",
|
|
99
|
+
".agents/scripts/select-next-task.mjs",
|
|
100
|
+
".agents/scripts/summarize-project-metrics.mjs",
|
|
42
101
|
".agents/scripts/test-and-log.sh",
|
|
43
102
|
".agents/skills/.gitkeep",
|
|
44
|
-
".agents/skills/
|
|
103
|
+
".agents/skills/README.md",
|
|
45
104
|
".agents/skills/breakdown-skill/SKILL.md",
|
|
105
|
+
".agents/skills/breakdown-skill/references/runbook.md",
|
|
46
106
|
".agents/skills/breakdown-skill/templates/ambiguity-report.md",
|
|
47
107
|
".agents/skills/breakdown-skill/templates/task-batch-summary.md",
|
|
48
|
-
".agents/skills/closeout-skill/references/runbook.md",
|
|
49
108
|
".agents/skills/closeout-skill/SKILL.md",
|
|
109
|
+
".agents/skills/closeout-skill/references/runbook.md",
|
|
50
110
|
".agents/skills/closeout-skill/templates/closure-checklist.md",
|
|
111
|
+
".agents/skills/closeout-skill/templates/learning-proposal.md",
|
|
112
|
+
".agents/skills/closeout-skill/templates/learning-proposals.md",
|
|
51
113
|
".agents/skills/closeout-skill/templates/outcome-review.md",
|
|
52
|
-
".agents/skills/manage-context/references/context-audit-checklist.md",
|
|
53
|
-
".agents/skills/manage-context/references/runbook.md",
|
|
54
|
-
".agents/skills/manage-context/SKILL.md",
|
|
55
|
-
".agents/skills/manage-context/templates/context-debt-report.md",
|
|
56
|
-
".agents/skills/manage-context/templates/context-refresh-summary.md",
|
|
57
|
-
".agents/skills/onboarding/references/agents-md-best-practices.md",
|
|
58
|
-
".agents/skills/onboarding/SKILL.md",
|
|
59
|
-
".agents/skills/discovery-skill/references/runbook.md",
|
|
60
114
|
".agents/skills/discovery-skill/SKILL.md",
|
|
115
|
+
".agents/skills/discovery-skill/references/runbook.md",
|
|
61
116
|
".agents/skills/discovery-skill/templates/clarification-questions.md",
|
|
62
117
|
".agents/skills/discovery-skill/templates/discovery-summary.md",
|
|
63
|
-
".agents/skills/prototype-skill/references/probe-design-checklist.md",
|
|
64
|
-
".agents/skills/prototype-skill/references/runbook.md",
|
|
65
|
-
".agents/skills/prototype-skill/SKILL.md",
|
|
66
|
-
".agents/skills/prototype-skill/templates/probe-approval-recommendation.md",
|
|
67
|
-
".agents/skills/prototype-skill/templates/probe-findings.md",
|
|
68
|
-
".agents/skills/execution-skill/references/runbook.md",
|
|
69
118
|
".agents/skills/execution-skill/SKILL.md",
|
|
119
|
+
".agents/skills/execution-skill/references/runbook.md",
|
|
70
120
|
".agents/skills/execution-skill/templates/blocker-update.md",
|
|
71
121
|
".agents/skills/execution-skill/templates/stream-update.md",
|
|
72
|
-
".agents/skills/learning-skill/references/runbook.md",
|
|
73
122
|
".agents/skills/learning-skill/SKILL.md",
|
|
123
|
+
".agents/skills/learning-skill/references/runbook.md",
|
|
74
124
|
".agents/skills/learning-skill/templates/improvement-backlog.md",
|
|
75
125
|
".agents/skills/learning-skill/templates/retrospective.md",
|
|
76
|
-
".agents/skills/
|
|
126
|
+
".agents/skills/manage-context/SKILL.md",
|
|
127
|
+
".agents/skills/manage-context/references/context-audit-checklist.md",
|
|
128
|
+
".agents/skills/manage-context/references/runbook.md",
|
|
129
|
+
".agents/skills/manage-context/templates/context-debt-report.md",
|
|
130
|
+
".agents/skills/manage-context/templates/context-refresh-summary.md",
|
|
131
|
+
".agents/skills/onboarding/SKILL.md",
|
|
132
|
+
".agents/skills/onboarding/references/agents-md-best-practices.md",
|
|
77
133
|
".agents/skills/planning-skill/SKILL.md",
|
|
134
|
+
".agents/skills/planning-skill/references/runbook.md",
|
|
78
135
|
".agents/skills/planning-skill/templates/architecture-decision.md",
|
|
79
136
|
".agents/skills/planning-skill/templates/workstream-definition.md",
|
|
80
|
-
".agents/skills/
|
|
137
|
+
".agents/skills/prototype-skill/SKILL.md",
|
|
138
|
+
".agents/skills/prototype-skill/references/probe-design-checklist.md",
|
|
139
|
+
".agents/skills/prototype-skill/references/runbook.md",
|
|
140
|
+
".agents/skills/prototype-skill/templates/probe-approval-recommendation.md",
|
|
141
|
+
".agents/skills/prototype-skill/templates/probe-findings.md",
|
|
81
142
|
".agents/skills/quality-skill/SKILL.md",
|
|
143
|
+
".agents/skills/quality-skill/references/runbook.md",
|
|
82
144
|
".agents/skills/quality-skill/templates/gate-decision.md",
|
|
83
145
|
".agents/skills/quality-skill/templates/quality-evidence.md",
|
|
84
|
-
".agents/skills/README.md",
|
|
85
|
-
".agents/skills/sync-skill/references/runbook.md",
|
|
86
146
|
".agents/skills/sync-skill/SKILL.md",
|
|
147
|
+
".agents/skills/sync-skill/references/runbook.md",
|
|
87
148
|
".agents/skills/sync-skill/templates/conflict-resolution-actions.md",
|
|
88
149
|
".agents/skills/sync-skill/templates/drift-report.md",
|
|
150
|
+
".agents/validation-fixtures/strict/invalid/broken-dependencies/dependency.md",
|
|
151
|
+
".agents/validation-fixtures/strict/invalid/broken-dependencies/task.md",
|
|
152
|
+
".agents/validation-fixtures/strict/invalid/invalid-transition/task.md",
|
|
153
|
+
".agents/validation-fixtures/strict/invalid/missing-evidence/task.md",
|
|
154
|
+
".agents/validation-fixtures/strict/invalid/path-leak/task.md",
|
|
155
|
+
".agents/validation-fixtures/strict/invalid/stale-context/context.md",
|
|
156
|
+
".agents/validation-fixtures/strict/manifest.json",
|
|
157
|
+
".agents/validation-fixtures/strict/valid/minimal-project/task.md",
|
|
89
158
|
".delano/README.md",
|
|
159
|
+
".delano/viewer/README.md",
|
|
160
|
+
".delano/viewer/server.js",
|
|
161
|
+
".delano/viewer/public/app.js",
|
|
162
|
+
".delano/viewer/public/explorer.svg",
|
|
163
|
+
".delano/viewer/public/index.html",
|
|
164
|
+
".delano/viewer/public/markdown.svg",
|
|
165
|
+
".delano/viewer/public/vscode.svg",
|
|
166
|
+
".delano/viewer/public/styles.css",
|
|
167
|
+
".project/projects/.gitkeep",
|
|
168
|
+
".project/registry/linear-map.json",
|
|
169
|
+
".project/registry/migration-map.json",
|
|
170
|
+
".project/templates/completion-summary.md",
|
|
171
|
+
".project/templates/plan.md",
|
|
172
|
+
".project/templates/progress-update.md",
|
|
173
|
+
".project/templates/spec.md",
|
|
174
|
+
".project/templates/task.md",
|
|
175
|
+
".project/templates/workstream.md",
|
|
176
|
+
"HANDBOOK.md",
|
|
90
177
|
{
|
|
91
178
|
"source": "assets/templates/context/gui-testing.md",
|
|
92
179
|
"target": ".project/context/gui-testing.md"
|
|
@@ -127,16 +214,6 @@
|
|
|
127
214
|
"source": "assets/templates/context/tech-context.md",
|
|
128
215
|
"target": ".project/context/tech-context.md"
|
|
129
216
|
},
|
|
130
|
-
".project/projects/.gitkeep",
|
|
131
|
-
".project/registry/linear-map.json",
|
|
132
|
-
".project/registry/migration-map.json",
|
|
133
|
-
".project/templates/completion-summary.md",
|
|
134
|
-
".project/templates/plan.md",
|
|
135
|
-
".project/templates/progress-update.md",
|
|
136
|
-
".project/templates/spec.md",
|
|
137
|
-
".project/templates/task.md",
|
|
138
|
-
".project/templates/workstream.md",
|
|
139
|
-
"HANDBOOK.md",
|
|
140
217
|
"install-delano.sh"
|
|
141
218
|
]
|
|
142
219
|
}
|
|
@@ -2,11 +2,36 @@
|
|
|
2
2
|
|
|
3
3
|
Canonical shared runtime for Delano.
|
|
4
4
|
|
|
5
|
-
-
|
|
6
|
-
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
5
|
+
## Source-of-truth map
|
|
6
|
+
|
|
7
|
+
- Root agent workflow and boundaries: `AGENTS.md`
|
|
8
|
+
- Process and operator handbook: `HANDBOOK.md`
|
|
9
|
+
- Delivery contracts and evidence: `.project/`
|
|
10
|
+
- Runtime scripts: `.agents/scripts/`
|
|
11
|
+
- Shared rules: `.agents/rules/`
|
|
12
|
+
- Hooks: `.agents/hooks/`
|
|
13
|
+
- Skills: `.agents/skills/`
|
|
14
|
+
- Logs: `.agents/logs/`
|
|
15
|
+
- Shared adapter utilities: `.agents/common/`
|
|
16
|
+
- Agent-specific adapter notes: `.agents/adapters/<agent>/`
|
|
11
17
|
|
|
12
18
|
The compatibility path `.claude/` may mirror this runtime for agents that still expect Claude-style paths.
|
|
19
|
+
|
|
20
|
+
## Required first-turn behavior
|
|
21
|
+
|
|
22
|
+
Every adapter should start from `AGENTS.md`, inspect the relevant `.project` contract and current git state, then use the adapter note only for runtime-specific differences.
|
|
23
|
+
|
|
24
|
+
## Core validation commands
|
|
25
|
+
|
|
26
|
+
- `bash .agents/scripts/pm/validate.sh`
|
|
27
|
+
- `npm test`
|
|
28
|
+
- `npm run build:assets`
|
|
29
|
+
- `npm run check:package-manifest`
|
|
30
|
+
|
|
31
|
+
## Completion rule
|
|
32
|
+
|
|
33
|
+
Do not report a task as done until the change is present, evidence is recorded, validation has passed or been explicitly marked not run, and blockers are named.
|
|
34
|
+
|
|
35
|
+
## Safety boundaries
|
|
36
|
+
|
|
37
|
+
Keep logs privacy-safe, avoid absolute path leaks in docs/contracts/hook output, and do not perform destructive git or remote-write operations without an explicit task instruction.
|
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Claude adapter
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
## Start here
|
|
4
|
+
|
|
5
|
+
1. Read root `AGENTS.md` first.
|
|
6
|
+
2. Use this note only for Claude-specific path behavior.
|
|
7
|
+
3. Inspect `git status --short --branch` and the assigned `.project` contract before editing.
|
|
8
|
+
|
|
9
|
+
## Runtime paths
|
|
10
|
+
|
|
11
|
+
- Canonical runtime: `.agents/`
|
|
12
|
+
- Claude compatibility path: `.claude/` mirrors `.agents/` where available
|
|
13
|
+
- Delivery contracts: `.project/`
|
|
14
|
+
|
|
15
|
+
## Commands
|
|
16
|
+
|
|
17
|
+
- `bash .agents/scripts/pm/validate.sh`
|
|
18
|
+
- `npm test`
|
|
19
|
+
- `npm run build:assets`
|
|
20
|
+
- `npm run check:package-manifest`
|
|
21
|
+
|
|
22
|
+
## Completion and safety
|
|
23
|
+
|
|
24
|
+
Record evidence in the task or update log before marking work done. Do not rely on `.claude/` as a separate source of truth, do not commit unsafe logs, and do not leak local absolute paths in output.
|