@mindexed/cfact 1.1.2 → 1.1.4

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.
@@ -246,14 +246,15 @@ function parseArgs(argv) {
246
246
  return opts;
247
247
  }
248
248
 
249
- const HELP = `claude-factory — install/update a pinned, vendored Claude Factory engine
249
+ const HELP = `cfact — install/update a pinned, vendored CFacT engine
250
250
 
251
251
  Usage:
252
252
  npx @mindexed/cfact init [consumer-path] --version <v> [options]
253
253
  npx @mindexed/cfact update [consumer-path] [--version <v>] [options]
254
254
 
255
- Also published as @mindexed/claude-factory (the kept-alive legacy name); both
256
- serve the identical tree at the identical version.
255
+ Also resolvable as @mindexed/claude-factory (the deprecated legacy name) --
256
+ frozen at its last published version as of ADR-0287 and never updated again;
257
+ install @mindexed/cfact for anything published from here on.
257
258
 
258
259
  Materialises .claude/engine as REAL FILES at a pinned version (never a clone or
259
260
  symlink of the private repo), then wires the consumer (pointer-symlinks, the
@@ -1601,7 +1602,7 @@ async function materialise(opts) {
1601
1602
 
1602
1603
  info('');
1603
1604
  info(outcome.done);
1604
- for (const line of requiredNextSteps({ consumerRoot, wiring })) info(line);
1605
+ for (const line of requiredNextSteps({ consumerRoot, wiring, command: opts.command })) info(line);
1605
1606
  }
1606
1607
 
1607
1608
  // --- required next steps (ADR-0178) ------------------------------------------
@@ -1623,7 +1624,7 @@ async function materialise(opts) {
1623
1624
  // was applied. A second check here would be a second authority over one fact,
1624
1625
  // and the obvious cheap form of it (does the file exist?) is true of every wired
1625
1626
  // consumer, which makes the advice permanent noise.
1626
- function requiredNextSteps({ consumerRoot, wiring }) {
1627
+ function requiredNextSteps({ consumerRoot, wiring, command }) {
1627
1628
  const steps = [
1628
1629
  `restart the Claude Code session in '${consumerRoot}' — this is what loads the new engine`,
1629
1630
  ];
@@ -1633,6 +1634,18 @@ function requiredNextSteps({ consumerRoot, wiring }) {
1633
1634
  "session's `NO MCP` is indistinguishable from a broken config (ADR-0066)"
1634
1635
  );
1635
1636
  }
1637
+ // CHG-236 (Jose, 2026-09-23): "a guided walkthrough on npx update, not a
1638
+ // text report" — this CLI has no LLM to walk anyone through anything, so
1639
+ // the walkthrough itself is `/guide-sync`, run inside the restarted
1640
+ // session above. This is the one line pointing there; `update` only, since
1641
+ // a fresh `init` has no prior state to have drifted from.
1642
+ if (command === 'update') {
1643
+ steps.push(
1644
+ "run `/guide-sync` in that session — it walks every stale/cannot-evaluate " +
1645
+ 'alignment signal interactively, one at a time, rather than leaving you to ' +
1646
+ 'read `/generate-alignment-map`\'s report and resolve it by hand'
1647
+ );
1648
+ }
1636
1649
  return ['', 'Required next steps:', ...steps.map((s, i) => ` ${i + 1}. ${s}`)];
1637
1650
  }
1638
1651
 
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@mindexed/cfact",
3
- "version": "1.1.2",
3
+ "version": "1.1.4",
4
4
  "description": "Clean Orthogonal Architecture Software Factory Framework",
5
5
  "bin": {
6
- "claude-factory": "bin/claude-factory.js",
7
- "cfact": "bin/claude-factory.js"
6
+ "claude-factory": "bin/cfact.js",
7
+ "cfact": "bin/cfact.js"
8
8
  },
9
9
  "files": [
10
10
  "bin/"
@@ -24,6 +24,7 @@
24
24
  "gate:compliance": "node scripts/audit-framework-compliance.js",
25
25
  "gate:doc-links": "node scripts/check-doc-links.js",
26
26
  "gate:command-metadata": "node scripts/check-command-metadata.js",
27
+ "gate:agent-context-inputs": "node scripts/check-agent-context-inputs.js",
27
28
  "gate:tracked-symlinks": "node scripts/check-tracked-symlinks.js",
28
29
  "gate:agents-md-sync": "node scripts/check-agents-md-sync.js",
29
30
  "gate:ripple-coverage": "node scripts/check-ripple-coverage.js",
@@ -31,6 +32,9 @@
31
32
  "gate:profile-coverage": "node scripts/check-profile-coverage.js",
32
33
  "gate:document-freshness": "node scripts/check-document-freshness.js",
33
34
  "gate:registry": "node scripts/check-registry.js",
35
+ "gate:rule-records": "node scripts/check-rule-records.js",
36
+ "audit:record-text": "node scripts/check-record-text.js",
37
+ "gate:graph-coverage": "node scripts/check-graph-coverage.js",
34
38
  "gate:adr-template-edges": "node scripts/check-adr-template-edges.js",
35
39
  "gate:installer-publish-drift": "node scripts/check-installer-publish-drift.js",
36
40
  "gate:changelog": "node scripts/generate-changelog.js --check",
@@ -50,6 +54,7 @@
50
54
  "test:secrets-two-stage": "node scripts/test-secrets-two-stage.js",
51
55
  "test:profile-paths": "node scripts/verify-profiles.js",
52
56
  "test:registry-gate": "node scripts/test-registry-gate.js",
57
+ "test:rule-resolver": "node scripts/test-rule-resolver.js",
53
58
  "test:adr-template-edges": "node scripts/test-adr-template-edges.js",
54
59
  "test:adr-path-constants": "node scripts/test-adr-path-constants.js",
55
60
  "test:resolver-topology": "node scripts/test-resolver-topology.js",
@@ -61,6 +66,8 @@
61
66
  "test:tarball-reproducible": "node scripts/test-tarball-reproducible.js",
62
67
  "test:release-version": "node scripts/test-release-version-lib.js",
63
68
  "test:consumer-checklist": "node scripts/test-consumer-checklist.js",
69
+ "test:engine-host": "node scripts/test-engine-host.js",
70
+ "test:zone-coverage": "node scripts/test-zone-coverage.js",
64
71
  "test:workflow-spine": "node scripts/test-workflow-spine.js",
65
72
  "test:command-shape": "node scripts/test-command-shape.js",
66
73
  "test:change-record": "node scripts/test-change-record.js",
@@ -72,24 +79,57 @@
72
79
  "test:installer-lifecycle": "node scripts/test-installer-lifecycle.js",
73
80
  "test:installer-shadowing": "node scripts/test-installer-shadowing.js",
74
81
  "test:feature-record": "node scripts/test-feature-record.js",
82
+ "test:feature-store": "node scripts/test-feature-store.js",
83
+ "test:feature-record-v2": "node scripts/test-feature-record-v2.js",
84
+ "test:feature-v2-switch": "node scripts/test-feature-v2-switch.js",
85
+ "test:feature-completeness": "node scripts/test-feature-completeness.js",
86
+ "test:feature-history": "node scripts/test-feature-history.js",
87
+ "test:agent-note-dispatch": "node scripts/test-agent-note-dispatch.js",
88
+ "test:check-record-text": "node scripts/test-check-record-text.js",
89
+ "test:feature-write-guard": "node scripts/test-feature-write-guard.js",
90
+ "test:trailer-lib": "node scripts/test-trailer-lib.js",
91
+ "test:feature-write-lock": "node scripts/test-feature-write-lock.js",
75
92
  "test:generate-ci": "node scripts/test-generate-ci.js",
76
93
  "publish:release": "node maintainer-hooks/publish-release.js",
77
- "gate:consistency": "npm run gate:matrix-sync && npm run gate:compliance && npm run gate:doc-links && npm run gate:command-metadata && npm run gate:tracked-symlinks && npm run gate:agents-md-sync && npm run gate:ripple-coverage && npm run gate:profile-docs && npm run gate:registry && npm run gate:adr-template-edges && npm run gate:installer-publish-drift",
94
+ "gate:consistency": "npm run gate:matrix-sync && npm run gate:compliance && npm run gate:doc-links && npm run gate:command-metadata && npm run gate:tracked-symlinks && npm run gate:agents-md-sync && npm run gate:ripple-coverage && npm run gate:profile-docs && npm run gate:registry && npm run gate:rule-records && npm run gate:graph-coverage && npm run gate:adr-template-edges && npm run gate:installer-publish-drift",
78
95
  "gate:boundaries": "bash hooks/check-matrix.sh domain && bash hooks/check-matrix.sh components && bash hooks/check-matrix.sh controllers && bash hooks/check-matrix.sh secrets",
79
- "ci": "npm run gate:consistency && npm run gate:boundaries && npm run gate:profile-coverage && npm run gate:document-freshness && npm run gate:changelog && npm test",
96
+ "ci": "npm run gate:consistency && npm run gate:boundaries && npm run gate:profile-coverage && npm run gate:document-freshness && npm test",
80
97
  "test:gate-three-state": "node scripts/test-gate-three-state.js",
81
98
  "test:refresh-compliance": "node scripts/test-refresh-compliance.js",
82
99
  "test:gate-coverage": "node scripts/test-gate-coverage.js",
100
+ "test:policy-lib": "node scripts/test-policy-lib.js",
101
+ "test:validate-zone-denylist-bypass": "node scripts/test-validate-zone-denylist-bypass.js",
102
+ "test:validate-zone-ledger-score": "node scripts/test-validate-zone-ledger-score.js",
103
+ "test:rules-carrier-schema": "node scripts/test-rules-carrier-schema.js",
104
+ "test:rule-record-schema": "node scripts/test-rule-record-schema.js",
105
+ "test:rule-record-concerns-check": "node scripts/test-rule-record-concerns-check.js",
106
+ "test:external-standard-drift": "node scripts/test-external-standard-drift.js",
107
+ "test:session-branch": "node scripts/test-session-branch.js",
83
108
  "test:consumer-docs-migration": "node scripts/test-consumer-docs-migration.js",
84
109
  "test:sot-templates-pointer": "node scripts/test-sot-templates-pointer.js",
85
110
  "test:npm-deprecation": "node scripts/test-npm-deprecation.js",
86
111
  "test:generate-erd": "node scripts/test-generate-erd.js",
87
- "test": "npm run test:dc-generator && npm run test:substance-generator && npm run test:json-flush && npm run test:installer-exit && npm run test:installer-channel && npm run test:installer-update-messaging && npm run test:installer-wiring && npm run test:tar-invocation && npm run test:framework-agents-mcp && npm run test:controller-gates && npm run test:controller-single-file-attribution && npm run test:parse-ast && npm run test:git-tree-sweep && npm run test:secrets-two-stage && npm run test:profile-paths && npm run test:registry-gate && npm run test:adr-template-edges && npm run test:adr-path-constants && npm run test:resolver-topology && npm run test:graph-strip && npm run test:graph-registry && npm run test:graph-memory-substrate && npm run test:document-freshness && npm run test:frontmatter-readers && npm run test:tarball-reproducible && npm run test:release-version && npm run test:consumer-checklist && npm run test:workflow-spine && npm run test:command-shape && npm run test:change-record && npm run test:engine-write-lock && npm run test:installer-publish-drift && npm run test:grants-authored && npm run test:test-capability && npm run test:installer-lifecycle && npm run test:gate-three-state && npm run test:refresh-compliance && npm run test:gate-coverage && npm run test:installer-shadowing && npm run test:feature-record && npm run test:consumer-docs-migration && npm run test:npm-deprecation && npm run test:sot-templates-pointer && npm run test:test-command-gate && npm run test:changelog-adr-refs && npm run test:generate-ci && npm run test:known-frictions-staleness && npm run test:artifact-timestamps && npm run test:generate-flow-map && npm run test:generate-zone-map && npm run test:generate-erd",
112
+ "test:surfaces-layerpaths": "node scripts/test-surfaces-layerpaths.js",
113
+ "test:list-feature-files": "node scripts/test-list-feature-files.js",
114
+ "test:generate-project-analysis": "node scripts/test-generate-project-analysis.js",
115
+ "test:generate-feature-card": "node scripts/test-generate-feature-card.js",
116
+ "test:generate-codex-agents": "node scripts/test-generate-codex-agents.js",
117
+ "test:context-subject": "node scripts/test-context-subject.js",
118
+ "test": "npm run test:dc-generator && npm run test:substance-generator && npm run test:json-flush && npm run test:installer-exit && npm run test:installer-channel && npm run test:installer-update-messaging && npm run test:installer-wiring && npm run test:tar-invocation && npm run test:framework-agents-mcp && npm run test:controller-gates && npm run test:controller-single-file-attribution && npm run test:parse-ast && npm run test:git-tree-sweep && npm run test:secrets-two-stage && npm run test:profile-paths && npm run test:registry-gate && npm run test:rule-resolver && npm run test:adr-template-edges && npm run test:adr-path-constants && npm run test:resolver-topology && npm run test:graph-strip && npm run test:graph-registry && npm run test:graph-memory-substrate && npm run test:document-freshness && npm run test:frontmatter-readers && npm run test:tarball-reproducible && npm run test:release-version && npm run test:consumer-checklist && npm run test:engine-host && npm run test:zone-coverage && npm run test:workflow-spine && npm run test:command-shape && npm run test:change-record && npm run test:engine-write-lock && npm run test:installer-publish-drift && npm run test:grants-authored && npm run test:test-capability && npm run test:installer-lifecycle && npm run test:gate-three-state && npm run test:refresh-compliance && npm run test:gate-coverage && npm run test:policy-lib && npm run test:validate-zone-denylist-bypass && npm run test:validate-zone-ledger-score && npm run test:rules-carrier-schema && npm run test:rule-record-schema && npm run test:rule-record-concerns-check && npm run test:external-standard-drift && npm run test:session-branch && npm run test:installer-shadowing && npm run test:feature-record && npm run test:feature-store && npm run test:feature-record-v2 && npm run test:feature-v2-switch && npm run test:feature-completeness && npm run test:feature-history && npm run test:agent-note-dispatch && npm run test:check-record-text && npm run test:consumer-docs-migration && npm run test:npm-deprecation && npm run test:sot-templates-pointer && npm run test:test-command-gate && npm run test:changelog-adr-refs && npm run test:generate-ci && npm run test:known-frictions-staleness && npm run test:artifact-timestamps && npm run test:generate-flow-map && npm run test:generate-zone-map && npm run test:generate-infra-map && npm run test:generate-erd && npm run test:surfaces-layerpaths && npm run test:list-feature-files && npm run test:feature-write-guard && npm run test:context-subject && npm run test:generate-project-analysis && npm run test:generate-feature-card && npm run test:generate-codex-agents && npm run test:generate-agent-cards && npm run test:generate-framework-graph && npm run test:unrecorded-scope && npm run test:profile-reinstated-zones && npm run test:contract-claims && npm run test:plan-crosscheck && npm run test:consumer-alignment && npm run test:check-consumer-alignment",
88
119
  "test:test-command-gate": "node scripts/test-test-command-gate.js",
89
120
  "test:changelog-adr-refs": "node scripts/test-changelog-adr-refs.js",
90
121
  "test:known-frictions-staleness": "node scripts/test-known-frictions-staleness.js",
91
122
  "test:generate-flow-map": "node scripts/test-generate-flow-map.js",
92
- "test:generate-zone-map": "node scripts/test-generate-zone-map.js"
123
+ "test:generate-zone-map": "node scripts/test-generate-zone-map.js",
124
+ "test:generate-infra-map": "node scripts/test-generate-infra-map.js",
125
+ "test:generate-agent-cards": "node scripts/test-generate-agent-cards.js",
126
+ "test:generate-framework-graph": "node scripts/test-generate-framework-graph.js",
127
+ "test:unrecorded-scope": "node scripts/test-unrecorded-scope.js",
128
+ "test:profile-reinstated-zones": "node scripts/test-profile-reinstated-zones.js",
129
+ "test:contract-claims": "node scripts/test-contract-claims.js",
130
+ "test:plan-crosscheck": "node scripts/test-plan-crosscheck.js",
131
+ "test:consumer-alignment": "node scripts/test-consumer-alignment.js",
132
+ "test:check-consumer-alignment": "node scripts/test-check-consumer-alignment.js"
93
133
  },
94
134
  "keywords": [],
95
135
  "author": "",