@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 = `
|
|
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
|
|
256
|
-
|
|
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.
|
|
3
|
+
"version": "1.1.4",
|
|
4
4
|
"description": "Clean Orthogonal Architecture Software Factory Framework",
|
|
5
5
|
"bin": {
|
|
6
|
-
"claude-factory": "bin/
|
|
7
|
-
"cfact": "bin/
|
|
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
|
|
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": "
|
|
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": "",
|