scene-capability-engine 3.3.23 → 3.3.25
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/CHANGELOG.md +58 -0
- package/bin/scene-capability-engine.js +20 -0
- package/docs/adoption-guide.md +8 -0
- package/docs/autonomous-control-guide.md +8 -8
- package/docs/command-reference.md +41 -2
- package/docs/errorbook-registry.md +12 -0
- package/lib/auto/config-schema.js +7 -7
- package/lib/commands/auto.js +2 -2
- package/lib/commands/errorbook.js +258 -0
- package/lib/commands/spec-bootstrap.js +17 -2
- package/lib/commands/spec-domain.js +217 -0
- package/lib/commands/spec-related.js +70 -0
- package/lib/commands/studio.js +345 -9
- package/lib/spec/domain-modeling.js +439 -0
- package/lib/spec/related-specs.js +260 -0
- package/lib/spec-gate/policy/default-policy.js +1 -0
- package/lib/spec-gate/rules/default-rules.js +8 -0
- package/package.json +3 -2
- package/template/.sce/steering/CORE_PRINCIPLES.md +30 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,64 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
### Added
|
|
11
|
+
- Errorbook registry health command for centralized registry governance:
|
|
12
|
+
- `sce errorbook health-registry`
|
|
13
|
+
- validates registry config readability, source/index reachability, and index bucket-to-shard resolution
|
|
14
|
+
- New script gate:
|
|
15
|
+
- `node scripts/errorbook-registry-health-gate.js`
|
|
16
|
+
- supports strict mode via `SCE_REGISTRY_HEALTH_STRICT=1`
|
|
17
|
+
|
|
18
|
+
### Changed
|
|
19
|
+
- `prepublishOnly` now runs `gate:errorbook-registry-health` in advisory mode before `errorbook-release` gate.
|
|
20
|
+
- Autonomous execution defaults are now hard-set to autonomous progression:
|
|
21
|
+
- `lib/auto/config-schema.js` default mode changed to `aggressive`
|
|
22
|
+
- default checkpoints now skip phase/final review pauses (`phaseCompletion=false`, `finalReview=false`)
|
|
23
|
+
- default safety confirmations for production/external/destructive are disabled in autonomous mode baseline
|
|
24
|
+
- `sce auto run/create` CLI defaults now use `--mode aggressive`
|
|
25
|
+
- Steering hard rule strengthened: when the same issue fails target validation for 2 consecutive fix rounds, the 3rd round must switch to debug-log-driven diagnosis first (no blind patching without evidence).
|
|
26
|
+
- `errorbook record` now enforces the same policy operationally:
|
|
27
|
+
- from the 3rd repeated record attempt of the same fingerprint, debug evidence becomes mandatory
|
|
28
|
+
- accepted signals include `--verification "debug: ..."`, `debug-evidence` tag, or debug trace/log references
|
|
29
|
+
- Spec workflow now enforces domain-first scene modeling:
|
|
30
|
+
- `spec bootstrap` auto-generates mandatory artifacts:
|
|
31
|
+
- `.sce/specs/<spec>/custom/problem-domain-map.md`
|
|
32
|
+
- `.sce/specs/<spec>/custom/scene-spec.md`
|
|
33
|
+
- `.sce/specs/<spec>/custom/problem-domain-chain.json`
|
|
34
|
+
- `spec gate` hard-fail rule `domain_scene_modeling` now validates both markdown structure and machine-readable chain payload:
|
|
35
|
+
- `problem/ontology/hypotheses/risks/decision_execution_path/correction_loop/verification`
|
|
36
|
+
- Added explicit domain modeling command set (also available via `sce spec domain ...` route):
|
|
37
|
+
- `sce spec-domain init --spec <id>`
|
|
38
|
+
- `sce spec-domain validate --spec <id> [--fail-on-error]`
|
|
39
|
+
- `sce spec-domain refresh --spec <id>`
|
|
40
|
+
- Studio plan/generate now consume domain modeling context for correction guidance:
|
|
41
|
+
- `sce studio plan` supports `--spec <id>` to ingest `.sce/specs/<spec>/custom/problem-domain-chain.json` deterministically
|
|
42
|
+
- when `--spec` is omitted, `plan` auto-selects the latest scene-matching chain (`scene_id`)
|
|
43
|
+
- `sce studio generate` writes chain-aware metadata and `generate` stage report at `.sce/reports/studio/generate-<job-id>.json`
|
|
44
|
+
- `sce studio verify` / `sce studio release` now include domain-chain metadata in reports and pass `spec_id` into auto errorbook failure capture
|
|
45
|
+
- Added historical related-spec retrieval for faster new-problem analysis:
|
|
46
|
+
- new command: `sce spec-related` (alias route: `sce spec related`)
|
|
47
|
+
- supports query/scene/spec-seeded lookup and relevance ranking
|
|
48
|
+
- `sce studio plan` now auto-loads related historical specs into job metadata (`source.related_specs`)
|
|
49
|
+
|
|
50
|
+
## [3.3.23] - 2026-02-27
|
|
51
|
+
|
|
52
|
+
### Added
|
|
53
|
+
- Adoption/default template coverage now includes central registry and orchestrator configs across init/adopt/upgrade flows:
|
|
54
|
+
- `.sce/config/errorbook-registry.json`
|
|
55
|
+
- `.sce/config/orchestrator.json`
|
|
56
|
+
- Adoption config classification and backup critical-file handling now include:
|
|
57
|
+
- `config/errorbook-registry.json`
|
|
58
|
+
- `config/orchestrator.json`
|
|
59
|
+
|
|
60
|
+
### Changed
|
|
61
|
+
- Errorbook registry template defaults are now enabled out of the box:
|
|
62
|
+
- `enabled: true`
|
|
63
|
+
- `sources[central].enabled: true`
|
|
64
|
+
- Central registry defaults point to the official shared registry:
|
|
65
|
+
- `https://raw.githubusercontent.com/heguangyong/sce-errorbook-registry/main/registry/errorbook-registry.json`
|
|
66
|
+
- `https://raw.githubusercontent.com/heguangyong/sce-errorbook-registry/main/registry/errorbook-registry.index.json`
|
|
67
|
+
|
|
10
68
|
## [3.3.22] - 2026-02-27
|
|
11
69
|
|
|
12
70
|
### Added
|
|
@@ -19,6 +19,8 @@ const { registerSteeringCommands } = require('../lib/commands/steering');
|
|
|
19
19
|
const { registerSpecBootstrapCommand } = require('../lib/commands/spec-bootstrap');
|
|
20
20
|
const { registerSpecPipelineCommand } = require('../lib/commands/spec-pipeline');
|
|
21
21
|
const { registerSpecGateCommand } = require('../lib/commands/spec-gate');
|
|
22
|
+
const { registerSpecDomainCommand } = require('../lib/commands/spec-domain');
|
|
23
|
+
const { registerSpecRelatedCommand } = require('../lib/commands/spec-related');
|
|
22
24
|
const { registerValueCommands } = require('../lib/commands/value');
|
|
23
25
|
const VersionChecker = require('../lib/version/version-checker');
|
|
24
26
|
const {
|
|
@@ -55,6 +57,8 @@ const program = new Command();
|
|
|
55
57
|
* - `sce spec bootstrap ...` -> `sce spec-bootstrap ...`
|
|
56
58
|
* - `sce spec pipeline ...` -> `sce spec-pipeline ...`
|
|
57
59
|
* - `sce spec gate ...` -> `sce spec-gate ...`
|
|
60
|
+
* - `sce spec domain ...` -> `sce spec-domain ...`
|
|
61
|
+
* - `sce spec related ...` -> `sce spec-related ...`
|
|
58
62
|
* - `sce spec create <name> ...` -> `sce create-spec <name> ...`
|
|
59
63
|
* - `sce spec <name> ...` -> `sce create-spec <name> ...` (legacy)
|
|
60
64
|
*
|
|
@@ -89,6 +93,16 @@ function normalizeSpecCommandArgs(argv) {
|
|
|
89
93
|
return normalized;
|
|
90
94
|
}
|
|
91
95
|
|
|
96
|
+
if (commandToken === 'domain') {
|
|
97
|
+
normalized.splice(commandIndex, 2, 'spec-domain');
|
|
98
|
+
return normalized;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (commandToken === 'related') {
|
|
102
|
+
normalized.splice(commandIndex, 2, 'spec-related');
|
|
103
|
+
return normalized;
|
|
104
|
+
}
|
|
105
|
+
|
|
92
106
|
if (commandToken === 'create') {
|
|
93
107
|
normalized.splice(commandIndex, 2, 'create-spec');
|
|
94
108
|
return normalized;
|
|
@@ -332,6 +346,12 @@ registerSpecPipelineCommand(program);
|
|
|
332
346
|
// Spec gate command
|
|
333
347
|
registerSpecGateCommand(program);
|
|
334
348
|
|
|
349
|
+
// Spec domain modeling command
|
|
350
|
+
registerSpecDomainCommand(program);
|
|
351
|
+
|
|
352
|
+
// Spec related lookup command
|
|
353
|
+
registerSpecRelatedCommand(program);
|
|
354
|
+
|
|
335
355
|
// 系统诊断命令
|
|
336
356
|
program
|
|
337
357
|
.command('doctor')
|
package/docs/adoption-guide.md
CHANGED
|
@@ -562,8 +562,16 @@ your-project/
|
|
|
562
562
|
│ │ ├── ENVIRONMENT.md
|
|
563
563
|
│ │ ├── CURRENT_CONTEXT.md
|
|
564
564
|
│ │ └── RULES_GUIDE.md
|
|
565
|
+
│ ├── config/ # Runtime/adoption baseline configs
|
|
566
|
+
│ │ ├── studio-security.json
|
|
567
|
+
│ │ ├── orchestrator.json
|
|
568
|
+
│ │ └── errorbook-registry.json
|
|
565
569
|
│ ├── tools/ # Ultrawork tools
|
|
566
570
|
│ │ └── ultrawork_enhancer.py
|
|
571
|
+
│ ├── hooks/ # Default hooks
|
|
572
|
+
│ │ ├── check-spec-on-create.sce.hook
|
|
573
|
+
│ │ ├── run-tests-on-save.sce.hook
|
|
574
|
+
│ │ └── sync-tasks-on-edit.sce.hook
|
|
567
575
|
│ ├── backups/ # Automatic backups
|
|
568
576
|
│ │ └── adopt-{timestamp}/
|
|
569
577
|
│ └── README.md
|
|
@@ -433,7 +433,7 @@ sce auto stop
|
|
|
433
433
|
|
|
434
434
|
## Execution Modes
|
|
435
435
|
|
|
436
|
-
### Conservative Mode
|
|
436
|
+
### Conservative Mode
|
|
437
437
|
|
|
438
438
|
**Best for**: Production features, critical systems, first-time users
|
|
439
439
|
|
|
@@ -479,7 +479,7 @@ sce auto stop
|
|
|
479
479
|
}
|
|
480
480
|
```
|
|
481
481
|
|
|
482
|
-
### Aggressive Mode
|
|
482
|
+
### Aggressive Mode (Default)
|
|
483
483
|
|
|
484
484
|
**Best for**: Rapid prototyping, experimental features, experienced users
|
|
485
485
|
|
|
@@ -511,13 +511,13 @@ Location: `.sce/auto/config.json`
|
|
|
511
511
|
```json
|
|
512
512
|
{
|
|
513
513
|
"version": "1.0.0",
|
|
514
|
-
"mode": "
|
|
514
|
+
"mode": "aggressive",
|
|
515
515
|
"checkpoints": {
|
|
516
516
|
"requirementsReview": false,
|
|
517
517
|
"designReview": false,
|
|
518
518
|
"tasksReview": false,
|
|
519
|
-
"phaseCompletion":
|
|
520
|
-
"finalReview":
|
|
519
|
+
"phaseCompletion": false,
|
|
520
|
+
"finalReview": false,
|
|
521
521
|
"errorThreshold": 3
|
|
522
522
|
},
|
|
523
523
|
"errorRecovery": {
|
|
@@ -527,9 +527,9 @@ Location: `.sce/auto/config.json`
|
|
|
527
527
|
"learningEnabled": true
|
|
528
528
|
},
|
|
529
529
|
"safety": {
|
|
530
|
-
"requireProductionConfirmation":
|
|
531
|
-
"requireExternalResourceConfirmation":
|
|
532
|
-
"requireDestructiveOperationConfirmation":
|
|
530
|
+
"requireProductionConfirmation": false,
|
|
531
|
+
"requireExternalResourceConfirmation": false,
|
|
532
|
+
"requireDestructiveOperationConfirmation": false,
|
|
533
533
|
"allowedOperations": [],
|
|
534
534
|
"blockedOperations": []
|
|
535
535
|
},
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
> Quick reference for all `sce` commands
|
|
4
4
|
|
|
5
|
-
**Version**:
|
|
6
|
-
**Last Updated**: 2026-02-
|
|
5
|
+
**Version**: 3.3.23
|
|
6
|
+
**Last Updated**: 2026-02-27
|
|
7
7
|
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -57,6 +57,10 @@ sce create-spec 01-00-feature-name
|
|
|
57
57
|
|
|
58
58
|
# Bootstrap full Spec draft (requirements/design/tasks)
|
|
59
59
|
sce spec bootstrap --name 01-00-feature-name --scene scene.customer-order-inventory --non-interactive
|
|
60
|
+
# Bootstrap now also generates mandatory scene artifacts:
|
|
61
|
+
# - .sce/specs/<spec>/custom/problem-domain-map.md
|
|
62
|
+
# - .sce/specs/<spec>/custom/scene-spec.md
|
|
63
|
+
# - .sce/specs/<spec>/custom/problem-domain-chain.json (machine-readable chain model)
|
|
60
64
|
|
|
61
65
|
# Run pipeline for one Spec
|
|
62
66
|
sce spec pipeline run --spec 01-00-feature-name --scene scene.customer-order-inventory
|
|
@@ -64,6 +68,15 @@ sce spec pipeline run --spec 01-00-feature-name --scene scene.customer-order-inv
|
|
|
64
68
|
# Run gate for one Spec
|
|
65
69
|
sce spec gate run --spec 01-00-feature-name --scene scene.customer-order-inventory --json
|
|
66
70
|
|
|
71
|
+
# Maintain domain modeling artifacts explicitly
|
|
72
|
+
sce spec domain init --spec 01-00-feature-name --scene scene.customer-order-inventory --json
|
|
73
|
+
sce spec domain validate --spec 01-00-feature-name --fail-on-error --json
|
|
74
|
+
sce spec domain refresh --spec 01-00-feature-name --scene scene.customer-order-inventory --json
|
|
75
|
+
|
|
76
|
+
# Find related historical specs before starting a new analysis
|
|
77
|
+
sce spec related --query "customer order inventory reconciliation drift" --scene scene.customer-order-inventory --json
|
|
78
|
+
sce spec related --spec 01-00-feature-name --limit 8 --json
|
|
79
|
+
|
|
67
80
|
# Multi-Spec mode defaults to orchestrate routing
|
|
68
81
|
sce spec bootstrap --specs "spec-a,spec-b" --max-parallel 3
|
|
69
82
|
sce spec pipeline run --specs "spec-a,spec-b" --max-parallel 3
|
|
@@ -77,6 +90,11 @@ Spec session governance:
|
|
|
77
90
|
- `spec bootstrap|pipeline run|gate run` must bind to an active scene primary session (`--scene <scene-id>` or implicit binding from latest/unique active scene).
|
|
78
91
|
- When multiple active scenes exist, you must pass `--scene` explicitly.
|
|
79
92
|
- Multi-Spec orchestrate fallback (`--specs ...`) follows the same scene binding and writes per-spec child-session archive records.
|
|
93
|
+
- `spec bootstrap` always generates problem-domain and scene-spec artifacts to force domain-first exploration.
|
|
94
|
+
- `spec gate` now hard-fails when either of the following is missing or structurally incomplete:
|
|
95
|
+
- `.sce/specs/<spec>/custom/problem-domain-map.md`
|
|
96
|
+
- `.sce/specs/<spec>/custom/scene-spec.md`
|
|
97
|
+
- `.sce/specs/<spec>/custom/problem-domain-chain.json`
|
|
80
98
|
|
|
81
99
|
### Value Metrics
|
|
82
100
|
|
|
@@ -362,6 +380,9 @@ sce errorbook export --status promoted --min-quality 75 --out .sce/errorbook/exp
|
|
|
362
380
|
# Sync central registry (GitHub raw URL or local file) to local cache
|
|
363
381
|
sce errorbook sync-registry --source https://raw.githubusercontent.com/heguangyong/sce-errorbook-registry/main/registry/errorbook-registry.json --json
|
|
364
382
|
|
|
383
|
+
# Validate registry config/source/index health
|
|
384
|
+
sce errorbook health-registry --json
|
|
385
|
+
|
|
365
386
|
# Promote only after strict gate checks pass
|
|
366
387
|
sce errorbook promote <entry-id> --json
|
|
367
388
|
|
|
@@ -389,11 +410,17 @@ sce errorbook release-gate --min-risk high --fail-on-block --json
|
|
|
389
410
|
|
|
390
411
|
# Git managed hard gate (default in prepublish and studio release preflight)
|
|
391
412
|
node scripts/git-managed-gate.js --fail-on-violation --json
|
|
413
|
+
|
|
414
|
+
# Registry health gate (advisory by default; strict when env enabled)
|
|
415
|
+
node scripts/errorbook-registry-health-gate.js --json
|
|
416
|
+
SCE_REGISTRY_HEALTH_STRICT=1 node scripts/errorbook-registry-health-gate.js --json
|
|
392
417
|
```
|
|
393
418
|
|
|
394
419
|
Curated quality policy (`宁缺毋滥,优胜略汰`) defaults:
|
|
395
420
|
- `record` requires: `title`, `symptom`, `root_cause`, and at least one `fix_action`.
|
|
396
421
|
- Fingerprint dedup is automatic; repeated records merge evidence and increment occurrence count.
|
|
422
|
+
- Repeated-failure hard rule: from attempt `#3` of the same fingerprint (two failed rounds already happened), record must include debug evidence.
|
|
423
|
+
Recommended forms: `--verification "debug: ..."` or tag `debug-evidence` or debug trace/log file references.
|
|
397
424
|
- `promote` enforces strict gate:
|
|
398
425
|
- `root_cause` present
|
|
399
426
|
- `fix_actions` non-empty
|
|
@@ -414,6 +441,10 @@ Curated quality policy (`宁缺毋滥,优胜略汰`) defaults:
|
|
|
414
441
|
- `sync-registry` pulls external registry JSON into local cache (`.sce/errorbook/registry-cache.json`) for unified `find` retrieval.
|
|
415
442
|
- `find --include-registry --registry-mode remote` supports direct remote query for large registries (no full local sync required).
|
|
416
443
|
- Recommended for large registries: maintain a remote index file (`registry/errorbook-registry.index.json`) and shard files, then provide `index_url` in registry config.
|
|
444
|
+
- Since `v3.3.23`, `sce init` / `sce adopt` default baseline includes enabled central registry config in `.sce/config/errorbook-registry.json`.
|
|
445
|
+
- `health-registry` validates config readability, source/index accessibility, and index-to-shard resolution before release.
|
|
446
|
+
- `gate:errorbook-registry-health` runs in advisory mode by default during `prepublishOnly`.
|
|
447
|
+
Set `SCE_REGISTRY_HEALTH_STRICT=1` to fail release when registry health reports errors.
|
|
417
448
|
- `git-managed-gate` blocks release when:
|
|
418
449
|
- worktree has uncommitted changes
|
|
419
450
|
- branch has no upstream
|
|
@@ -428,6 +459,8 @@ Curated quality policy (`宁缺毋滥,优胜略汰`) defaults:
|
|
|
428
459
|
```bash
|
|
429
460
|
# Build a plan from chat/session context (scene is mandatory and becomes the primary session anchor)
|
|
430
461
|
sce studio plan --scene scene.customer-order-inventory --from-chat session-20260226 --goal "customer+order+inventory demo" --json
|
|
462
|
+
# Recommended: bind spec explicitly so Studio can ingest problem-domain-chain deterministically
|
|
463
|
+
sce studio plan --scene scene.customer-order-inventory --spec 01-00-customer-order-inventory --from-chat session-20260226 --goal "customer+order+inventory demo" --json
|
|
431
464
|
|
|
432
465
|
# Generate patch bundle metadata (scene is inherited from plan)
|
|
433
466
|
sce studio generate --target 331 --json
|
|
@@ -460,11 +493,16 @@ SCE_STUDIO_REQUIRE_AUTH=1 SCE_STUDIO_AUTH_PASSWORD=top-secret sce studio apply -
|
|
|
460
493
|
|
|
461
494
|
Stage guardrails are enforced by default:
|
|
462
495
|
- `plan` requires `--scene`; SCE binds one active primary session per scene
|
|
496
|
+
- `plan --spec <id>` (recommended) ingests `.sce/specs/<spec>/custom/problem-domain-chain.json` into studio job context
|
|
497
|
+
- when `--spec` is omitted, `plan` auto-resolves the latest matching spec chain by `scene_id` when available
|
|
498
|
+
- `plan` auto-searches related historical specs by `scene + goal` and writes top candidates into job metadata (`source.related_specs`)
|
|
463
499
|
- successful `release` auto-archives current scene session and auto-opens the next scene cycle session
|
|
464
500
|
- `generate` requires `plan`
|
|
501
|
+
- `generate` consumes the plan-stage domain-chain context and writes chain-aware metadata/report (`.sce/reports/studio/generate-<job-id>.json`)
|
|
465
502
|
- `apply` requires `generate`
|
|
466
503
|
- `verify` requires `apply`
|
|
467
504
|
- `release` requires `verify`
|
|
505
|
+
- `verify` / `release` reports and failure auto-records inherit `spec_id + domain-chain` context for better root-cause traceability
|
|
468
506
|
|
|
469
507
|
Studio gate execution defaults:
|
|
470
508
|
- `verify --profile standard` runs executable gates (unit test script when available, interactive governance report when present, scene package publish-batch dry-run when handoff manifest exists)
|
|
@@ -544,6 +582,7 @@ Multi-agent merge governance default:
|
|
|
544
582
|
```bash
|
|
545
583
|
# One-command close-loop execution:
|
|
546
584
|
# goal -> auto master/sub decomposition -> collab metadata -> orchestration -> terminal result
|
|
585
|
+
# default behavior is enforced autonomous progression (no per-step confirmation pauses)
|
|
547
586
|
sce auto close-loop "build autonomous close-loop and master/sub orchestration"
|
|
548
587
|
# default sub-spec count is auto-selected by goal complexity (typically 3-5)
|
|
549
588
|
|
|
@@ -87,6 +87,7 @@ Notes:
|
|
|
87
87
|
- `url` must be a raw JSON URL (`raw.githubusercontent.com`) or use a local file path.
|
|
88
88
|
- `search_mode` supports `cache|remote|hybrid` (recommended: `remote` for very large registries).
|
|
89
89
|
- Local cache file is used by cache/hybrid mode.
|
|
90
|
+
- Since `v3.3.23`, `sce init` / `sce adopt` template baselines include this config by default (central source enabled).
|
|
90
91
|
|
|
91
92
|
## 4) Daily Workflow
|
|
92
93
|
|
|
@@ -106,6 +107,11 @@ sce errorbook sync-registry --source https://raw.githubusercontent.com/heguangyo
|
|
|
106
107
|
```bash
|
|
107
108
|
sce errorbook find --query "approve order timeout" --include-registry --json
|
|
108
109
|
sce errorbook find --query "approve order timeout" --include-registry --registry-mode remote --json
|
|
110
|
+
|
|
111
|
+
# Validate central registry health (config/source/index/shard)
|
|
112
|
+
sce errorbook health-registry --json
|
|
113
|
+
# Optional strict gate in CI/release
|
|
114
|
+
SCE_REGISTRY_HEALTH_STRICT=1 node scripts/errorbook-registry-health-gate.js --json
|
|
109
115
|
```
|
|
110
116
|
|
|
111
117
|
## 5) Governance Rules
|
|
@@ -114,3 +120,9 @@ sce errorbook find --query "approve order timeout" --include-registry --registry
|
|
|
114
120
|
- Do not publish sensitive tenant/customer data.
|
|
115
121
|
- Temporary mitigation entries must remain bounded and governed (exit criteria, cleanup task, deadline).
|
|
116
122
|
- Keep central registry append-only by PR review; deprecate low-value entries through normal curation.
|
|
123
|
+
- Recommended central repo gates:
|
|
124
|
+
- `node scripts/validate-registry.js`
|
|
125
|
+
- `node scripts/check-index-coverage.js --min-coverage 85`
|
|
126
|
+
- Recommended project-side release gates:
|
|
127
|
+
- `npm run gate:errorbook-registry-health` (advisory default)
|
|
128
|
+
- `SCE_REGISTRY_HEALTH_STRICT=1 npm run gate:errorbook-registry-health` (strict)
|
|
@@ -5,14 +5,14 @@
|
|
|
5
5
|
|
|
6
6
|
const DEFAULT_CONFIG = {
|
|
7
7
|
version: '1.0.0',
|
|
8
|
-
mode: '
|
|
8
|
+
mode: 'aggressive',
|
|
9
9
|
|
|
10
10
|
checkpoints: {
|
|
11
11
|
requirementsReview: false,
|
|
12
12
|
designReview: false,
|
|
13
13
|
tasksReview: false,
|
|
14
|
-
phaseCompletion:
|
|
15
|
-
finalReview:
|
|
14
|
+
phaseCompletion: false,
|
|
15
|
+
finalReview: false,
|
|
16
16
|
errorThreshold: 5
|
|
17
17
|
},
|
|
18
18
|
|
|
@@ -24,9 +24,9 @@ const DEFAULT_CONFIG = {
|
|
|
24
24
|
},
|
|
25
25
|
|
|
26
26
|
safety: {
|
|
27
|
-
requireProductionConfirmation:
|
|
28
|
-
requireExternalResourceConfirmation:
|
|
29
|
-
requireDestructiveOperationConfirmation:
|
|
27
|
+
requireProductionConfirmation: false,
|
|
28
|
+
requireExternalResourceConfirmation: false,
|
|
29
|
+
requireDestructiveOperationConfirmation: false,
|
|
30
30
|
allowedOperations: [],
|
|
31
31
|
blockedOperations: []
|
|
32
32
|
},
|
|
@@ -74,7 +74,7 @@ const MODE_PRESETS = {
|
|
|
74
74
|
designReview: false,
|
|
75
75
|
tasksReview: false,
|
|
76
76
|
phaseCompletion: false,
|
|
77
|
-
finalReview:
|
|
77
|
+
finalReview: false,
|
|
78
78
|
errorThreshold: 10
|
|
79
79
|
}
|
|
80
80
|
}
|
package/lib/commands/auto.js
CHANGED
|
@@ -104,7 +104,7 @@ function registerAutoCommands(program) {
|
|
|
104
104
|
auto
|
|
105
105
|
.command('run <spec-name>')
|
|
106
106
|
.description('Run Spec autonomously')
|
|
107
|
-
.option('-m, --mode <mode>', 'Execution mode (conservative|balanced|aggressive)', '
|
|
107
|
+
.option('-m, --mode <mode>', 'Execution mode (conservative|balanced|aggressive)', 'aggressive')
|
|
108
108
|
.action(async (specName, options) => {
|
|
109
109
|
try {
|
|
110
110
|
console.log(chalk.blue(`Starting autonomous execution: ${specName}`));
|
|
@@ -133,7 +133,7 @@ function registerAutoCommands(program) {
|
|
|
133
133
|
.command('create <feature-description>')
|
|
134
134
|
.description('Create and run Spec autonomously')
|
|
135
135
|
.option('-n, --name <name>', 'Spec name')
|
|
136
|
-
.option('-m, --mode <mode>', 'Execution mode', '
|
|
136
|
+
.option('-m, --mode <mode>', 'Execution mode', 'aggressive')
|
|
137
137
|
.action(async (description, options) => {
|
|
138
138
|
try {
|
|
139
139
|
const specName = options.name || generateSpecName(description);
|