@nforma.ai/nforma 0.2.1 → 0.28.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/README.md +2 -2
- package/agents/{qgsd-codebase-mapper.md → nf-codebase-mapper.md} +1 -1
- package/agents/{qgsd-debugger.md → nf-debugger.md} +3 -3
- package/agents/{qgsd-executor.md → nf-executor.md} +14 -14
- package/agents/{qgsd-integration-checker.md → nf-integration-checker.md} +1 -1
- package/agents/{qgsd-phase-researcher.md → nf-phase-researcher.md} +6 -6
- package/agents/{qgsd-plan-checker.md → nf-plan-checker.md} +9 -9
- package/agents/{qgsd-planner.md → nf-planner.md} +9 -9
- package/agents/{qgsd-project-researcher.md → nf-project-researcher.md} +2 -2
- package/agents/{qgsd-quorum-orchestrator.md → nf-quorum-orchestrator.md} +33 -33
- package/agents/{qgsd-quorum-slot-worker.md → nf-quorum-slot-worker.md} +3 -3
- package/agents/{qgsd-quorum-synthesizer.md → nf-quorum-synthesizer.md} +3 -3
- package/agents/{qgsd-quorum-test-worker.md → nf-quorum-test-worker.md} +1 -1
- package/agents/{qgsd-quorum-worker.md → nf-quorum-worker.md} +6 -6
- package/agents/{qgsd-research-synthesizer.md → nf-research-synthesizer.md} +5 -5
- package/agents/{qgsd-roadmapper.md → nf-roadmapper.md} +3 -3
- package/agents/{qgsd-verifier.md → nf-verifier.md} +8 -8
- package/bin/accept-debug-invariant.cjs +2 -2
- package/bin/account-manager.cjs +10 -10
- package/bin/aggregate-requirements.cjs +1 -1
- package/bin/analyze-assumptions.cjs +3 -3
- package/bin/analyze-state-space.cjs +14 -14
- package/bin/assumption-register.cjs +146 -0
- package/bin/attribute-trace-divergence.cjs +1 -1
- package/bin/auth-drivers/gh-cli.cjs +1 -1
- package/bin/auth-drivers/pool.cjs +1 -1
- package/bin/autoClosePtoF.cjs +3 -3
- package/bin/budget-tracker.cjs +77 -0
- package/bin/build-layer-manifest.cjs +153 -0
- package/bin/call-quorum-slot.cjs +3 -3
- package/bin/ccr-secure-config.cjs +5 -5
- package/bin/check-bundled-sdks.cjs +1 -1
- package/bin/check-mcp-health.cjs +1 -1
- package/bin/check-provider-health.cjs +6 -6
- package/bin/check-spec-sync.cjs +26 -26
- package/bin/check-trace-schema-drift.cjs +5 -5
- package/bin/conformance-schema.cjs +2 -2
- package/bin/cross-layer-dashboard.cjs +297 -0
- package/bin/design-impact.cjs +377 -0
- package/bin/detect-coverage-gaps.cjs +7 -7
- package/bin/failure-mode-catalog.cjs +227 -0
- package/bin/failure-taxonomy.cjs +177 -0
- package/bin/formal-scope-scan.cjs +179 -0
- package/bin/gate-a-grounding.cjs +334 -0
- package/bin/gate-b-abstraction.cjs +243 -0
- package/bin/gate-c-validation.cjs +166 -0
- package/bin/generate-formal-specs.cjs +17 -17
- package/bin/generate-petri-net.cjs +3 -3
- package/bin/generate-tla-cfg.cjs +5 -5
- package/bin/git-heatmap.cjs +571 -0
- package/bin/harness-diagnostic.cjs +326 -0
- package/bin/hazard-model.cjs +261 -0
- package/bin/install-formal-tools.cjs +1 -1
- package/bin/install.js +184 -139
- package/bin/instrumentation-map.cjs +178 -0
- package/bin/invariant-catalog.cjs +437 -0
- package/bin/issue-classifier.cjs +2 -2
- package/bin/load-baseline-requirements.cjs +4 -4
- package/bin/manage-agents-core.cjs +32 -32
- package/bin/migrate-to-slots.cjs +39 -39
- package/bin/mismatch-register.cjs +217 -0
- package/bin/nForma.cjs +176 -81
- package/bin/{qgsd-solve.cjs → nf-solve.cjs} +327 -14
- package/bin/observe-config.cjs +8 -0
- package/bin/observe-debt-writer.cjs +1 -1
- package/bin/observe-handler-deps.cjs +356 -0
- package/bin/observe-handler-grafana.cjs +2 -17
- package/bin/observe-handler-internal.cjs +5 -5
- package/bin/observe-handler-logstash.cjs +2 -17
- package/bin/observe-handler-prometheus.cjs +2 -17
- package/bin/observe-handler-upstream.cjs +251 -0
- package/bin/observe-handlers.cjs +12 -33
- package/bin/observe-render.cjs +68 -22
- package/bin/observe-utils.cjs +37 -0
- package/bin/observed-fsm.cjs +324 -0
- package/bin/planning-paths.cjs +6 -0
- package/bin/polyrepo.cjs +1 -1
- package/bin/probe-quorum-slots.cjs +1 -1
- package/bin/promote-gate-maturity.cjs +274 -0
- package/bin/promote-model.cjs +1 -1
- package/bin/propose-debug-invariants.cjs +1 -1
- package/bin/quorum-cache.cjs +144 -0
- package/bin/quorum-consensus-gate.cjs +1 -1
- package/bin/quorum-slot-dispatch.cjs +6 -6
- package/bin/requirements-core.cjs +1 -1
- package/bin/review-mcp-logs.cjs +1 -1
- package/bin/risk-heatmap.cjs +151 -0
- package/bin/run-account-manager-tlc.cjs +4 -4
- package/bin/run-account-pool-alloy.cjs +2 -2
- package/bin/run-alloy.cjs +2 -2
- package/bin/run-audit-alloy.cjs +2 -2
- package/bin/run-breaker-tlc.cjs +3 -3
- package/bin/run-formal-check.cjs +9 -9
- package/bin/run-formal-verify.cjs +30 -9
- package/bin/run-installer-alloy.cjs +2 -2
- package/bin/run-oscillation-tlc.cjs +4 -4
- package/bin/run-phase-tlc.cjs +1 -1
- package/bin/run-protocol-tlc.cjs +4 -4
- package/bin/run-quorum-composition-alloy.cjs +2 -2
- package/bin/run-sensitivity-sweep.cjs +2 -2
- package/bin/run-stop-hook-tlc.cjs +3 -3
- package/bin/run-tlc.cjs +21 -21
- package/bin/run-transcript-alloy.cjs +2 -2
- package/bin/secrets.cjs +5 -5
- package/bin/security-sweep.cjs +238 -0
- package/bin/sensitivity-report.cjs +3 -3
- package/bin/set-secret.cjs +5 -5
- package/bin/setup-telemetry-cron.sh +3 -3
- package/bin/stall-detector.cjs +126 -0
- package/bin/state-candidates.cjs +206 -0
- package/bin/sync-baseline-requirements.cjs +1 -1
- package/bin/telemetry-collector.cjs +1 -1
- package/bin/test-changed.cjs +111 -0
- package/bin/test-recipe-gen.cjs +250 -0
- package/bin/trace-corpus-stats.cjs +211 -0
- package/bin/unified-mcp-server.mjs +3 -3
- package/bin/update-scoreboard.cjs +1 -1
- package/bin/validate-memory.cjs +2 -2
- package/bin/validate-traces.cjs +10 -10
- package/bin/verify-quorum-health.cjs +66 -5
- package/bin/xstate-to-tla.cjs +4 -4
- package/bin/xstate-trace-walker.cjs +3 -3
- package/commands/{qgsd → nf}/add-phase.md +3 -3
- package/commands/{qgsd → nf}/add-requirement.md +3 -3
- package/commands/{qgsd → nf}/add-todo.md +3 -3
- package/commands/{qgsd → nf}/audit-milestone.md +4 -4
- package/commands/{qgsd → nf}/check-todos.md +3 -3
- package/commands/{qgsd → nf}/cleanup.md +3 -3
- package/commands/{qgsd → nf}/close-formal-gaps.md +2 -2
- package/commands/{qgsd → nf}/complete-milestone.md +9 -9
- package/commands/{qgsd → nf}/debug.md +9 -9
- package/commands/{qgsd → nf}/discuss-phase.md +3 -3
- package/commands/{qgsd → nf}/execute-phase.md +15 -15
- package/commands/{qgsd → nf}/fix-tests.md +3 -3
- package/commands/{qgsd → nf}/formal-test-sync.md +1 -1
- package/commands/{qgsd → nf}/health.md +3 -3
- package/commands/{qgsd → nf}/help.md +3 -3
- package/commands/{qgsd → nf}/insert-phase.md +3 -3
- package/commands/nf/join-discord.md +18 -0
- package/commands/{qgsd → nf}/list-phase-assumptions.md +2 -2
- package/commands/{qgsd → nf}/map-codebase.md +7 -7
- package/commands/{qgsd → nf}/map-requirements.md +3 -3
- package/commands/{qgsd → nf}/mcp-restart.md +3 -3
- package/commands/{qgsd → nf}/mcp-set-model.md +8 -8
- package/commands/{qgsd → nf}/mcp-setup.md +63 -63
- package/commands/{qgsd → nf}/mcp-status.md +3 -3
- package/commands/{qgsd → nf}/mcp-update.md +7 -7
- package/commands/{qgsd → nf}/new-milestone.md +8 -8
- package/commands/{qgsd → nf}/new-project.md +8 -8
- package/commands/{qgsd → nf}/observe.md +49 -16
- package/commands/{qgsd → nf}/pause-work.md +3 -3
- package/commands/{qgsd → nf}/plan-milestone-gaps.md +5 -5
- package/commands/{qgsd → nf}/plan-phase.md +6 -6
- package/commands/{qgsd → nf}/polyrepo.md +2 -2
- package/commands/{qgsd → nf}/progress.md +3 -3
- package/commands/{qgsd → nf}/queue.md +2 -2
- package/commands/{qgsd → nf}/quick.md +8 -8
- package/commands/{qgsd → nf}/quorum-test.md +10 -10
- package/commands/{qgsd → nf}/quorum.md +40 -40
- package/commands/{qgsd → nf}/reapply-patches.md +2 -2
- package/commands/{qgsd → nf}/remove-phase.md +3 -3
- package/commands/{qgsd → nf}/research-phase.md +12 -12
- package/commands/{qgsd → nf}/resume-work.md +3 -3
- package/commands/nf/review-requirements.md +31 -0
- package/commands/{qgsd → nf}/set-profile.md +3 -3
- package/commands/{qgsd → nf}/settings.md +6 -6
- package/commands/{qgsd → nf}/solve.md +35 -35
- package/commands/{qgsd → nf}/sync-baselines.md +4 -4
- package/commands/{qgsd → nf}/triage.md +10 -10
- package/commands/{qgsd → nf}/update.md +3 -3
- package/commands/{qgsd → nf}/verify-work.md +5 -5
- package/hooks/dist/config-loader.js +188 -32
- package/hooks/dist/conformance-schema.cjs +2 -2
- package/hooks/dist/gsd-context-monitor.js +118 -13
- package/hooks/dist/{qgsd-check-update.js → nf-check-update.js} +5 -5
- package/hooks/dist/{qgsd-circuit-breaker.js → nf-circuit-breaker.js} +35 -24
- package/hooks/dist/nf-circuit-breaker.test.js +1002 -0
- package/hooks/dist/{qgsd-precompact.js → nf-precompact.js} +13 -13
- package/hooks/dist/nf-precompact.test.js +227 -0
- package/hooks/dist/{qgsd-prompt.js → nf-prompt.js} +110 -33
- package/hooks/dist/nf-prompt.test.js +698 -0
- package/hooks/dist/nf-session-start.js +185 -0
- package/hooks/dist/nf-session-start.test.js +354 -0
- package/hooks/dist/{qgsd-slot-correlator.js → nf-slot-correlator.js} +13 -5
- package/hooks/dist/nf-slot-correlator.test.js +85 -0
- package/hooks/dist/{qgsd-spec-regen.js → nf-spec-regen.js} +17 -8
- package/hooks/dist/nf-spec-regen.test.js +73 -0
- package/hooks/dist/{qgsd-statusline.js → nf-statusline.js} +12 -3
- package/hooks/dist/nf-statusline.test.js +157 -0
- package/hooks/dist/{qgsd-stop.js → nf-stop.js} +152 -18
- package/hooks/dist/nf-stop.test.js +1388 -0
- package/hooks/dist/{qgsd-token-collector.js → nf-token-collector.js} +12 -4
- package/hooks/dist/nf-token-collector.test.js +262 -0
- package/hooks/dist/unified-mcp-server.mjs +2 -2
- package/package.json +4 -4
- package/scripts/build-hooks.js +13 -6
- package/scripts/secret-audit.sh +1 -1
- package/scripts/verify-hooks-sync.cjs +90 -0
- package/templates/{qgsd.json → nf.json} +4 -4
- package/commands/qgsd/join-discord.md +0 -18
- package/hooks/dist/qgsd-session-start.js +0 -122
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: nf:join-discord
|
|
3
|
+
description: Join the nForma Discord community
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
<objective>
|
|
7
|
+
Display the Discord invite link for the nForma community server.
|
|
8
|
+
</objective>
|
|
9
|
+
|
|
10
|
+
<output>
|
|
11
|
+
# Join the nForma Discord
|
|
12
|
+
|
|
13
|
+
Connect with other nForma users, get help, share what you're building, and stay updated.
|
|
14
|
+
|
|
15
|
+
**Server link:** https://discord.com/servers/1474810068636663886
|
|
16
|
+
|
|
17
|
+
Click the link or paste it into your browser to join.
|
|
18
|
+
</output>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: nf:list-phase-assumptions
|
|
3
3
|
description: Surface Claude's assumptions about a phase approach before planning
|
|
4
4
|
argument-hint: "[phase]"
|
|
5
5
|
allowed-tools:
|
|
@@ -17,7 +17,7 @@ Output: Conversational output only (no file creation) - ends with "What do you t
|
|
|
17
17
|
</objective>
|
|
18
18
|
|
|
19
19
|
<execution_context>
|
|
20
|
-
@~/.claude/
|
|
20
|
+
@~/.claude/nf/workflows/list-phase-assumptions.md
|
|
21
21
|
</execution_context>
|
|
22
22
|
|
|
23
23
|
<context>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: nf:map-codebase
|
|
3
3
|
description: Analyze codebase with parallel mapper agents to produce .planning/codebase/ documents
|
|
4
4
|
argument-hint: "[optional: specific area to map, e.g., 'api' or 'auth']"
|
|
5
5
|
allowed-tools:
|
|
@@ -12,7 +12,7 @@ allowed-tools:
|
|
|
12
12
|
---
|
|
13
13
|
|
|
14
14
|
<objective>
|
|
15
|
-
Analyze existing codebase using parallel
|
|
15
|
+
Analyze existing codebase using parallel nf-codebase-mapper agents to produce structured codebase documents.
|
|
16
16
|
|
|
17
17
|
Each mapper agent explores a focus area and **writes documents directly** to `.planning/codebase/`. The orchestrator only receives confirmations, keeping context usage minimal.
|
|
18
18
|
|
|
@@ -20,7 +20,7 @@ Output: .planning/codebase/ folder with 7 structured documents about the codebas
|
|
|
20
20
|
</objective>
|
|
21
21
|
|
|
22
22
|
<execution_context>
|
|
23
|
-
@~/.claude/
|
|
23
|
+
@~/.claude/nf/workflows/map-codebase.md
|
|
24
24
|
</execution_context>
|
|
25
25
|
|
|
26
26
|
<context>
|
|
@@ -30,8 +30,8 @@ Focus area: $ARGUMENTS (optional - if provided, tells agents to focus on specifi
|
|
|
30
30
|
Check for .planning/STATE.md - loads context if project already initialized
|
|
31
31
|
|
|
32
32
|
**This command can run:**
|
|
33
|
-
- Before /
|
|
34
|
-
- After /
|
|
33
|
+
- Before /nf:new-project (brownfield codebases) - creates codebase map first
|
|
34
|
+
- After /nf:new-project (greenfield codebases) - updates codebase map as code evolves
|
|
35
35
|
- Anytime to refresh codebase understanding
|
|
36
36
|
</context>
|
|
37
37
|
|
|
@@ -51,7 +51,7 @@ Check for .planning/STATE.md - loads context if project already initialized
|
|
|
51
51
|
<process>
|
|
52
52
|
1. Check if .planning/codebase/ already exists (offer to refresh or skip)
|
|
53
53
|
2. Create .planning/codebase/ directory structure
|
|
54
|
-
3. Spawn 4 parallel
|
|
54
|
+
3. Spawn 4 parallel nf-codebase-mapper agents:
|
|
55
55
|
- Agent 1: tech focus → writes STACK.md, INTEGRATIONS.md
|
|
56
56
|
- Agent 2: arch focus → writes ARCHITECTURE.md, STRUCTURE.md
|
|
57
57
|
- Agent 3: quality focus → writes CONVENTIONS.md, TESTING.md
|
|
@@ -59,7 +59,7 @@ Check for .planning/STATE.md - loads context if project already initialized
|
|
|
59
59
|
4. Wait for agents to complete, collect confirmations (NOT document contents)
|
|
60
60
|
5. Verify all 7 documents exist with line counts
|
|
61
61
|
6. Commit codebase map
|
|
62
|
-
7. Offer next steps (typically: /
|
|
62
|
+
7. Offer next steps (typically: /nf:new-project or /nf:plan-phase)
|
|
63
63
|
</process>
|
|
64
64
|
|
|
65
65
|
<success_criteria>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: nf:map-requirements
|
|
3
3
|
description: Map current and archived milestone requirements into .planning/formal/requirements.json
|
|
4
4
|
argument-hint: [--dry-run] [--skip-archive] [--skip-validate]
|
|
5
5
|
allowed-tools:
|
|
@@ -11,10 +11,10 @@ Run the requirements mapping pipeline — merges current `.planning/REQUIREMENTS
|
|
|
11
11
|
</objective>
|
|
12
12
|
|
|
13
13
|
<execution_context>
|
|
14
|
-
@~/.claude/
|
|
14
|
+
@~/.claude/nf/workflows/map-requirements.md
|
|
15
15
|
</execution_context>
|
|
16
16
|
|
|
17
17
|
<process>
|
|
18
|
-
Execute the map-requirements workflow from @~/.claude/
|
|
18
|
+
Execute the map-requirements workflow from @~/.claude/nf/workflows/map-requirements.md end-to-end.
|
|
19
19
|
Pass through --dry-run and --skip-archive flags from arguments.
|
|
20
20
|
</process>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
2
|
+
name: nf:mcp-restart
|
|
3
3
|
description: Restart a quorum agent's MCP server process — kills the running process and waits for Claude Code to reconnect automatically
|
|
4
4
|
argument-hint: "<agent>"
|
|
5
5
|
allowed-tools:
|
|
@@ -28,7 +28,7 @@ Parse `$ARGUMENTS` as one token: `$AGENT`.
|
|
|
28
28
|
|
|
29
29
|
If `$AGENT` is missing, print usage and stop:
|
|
30
30
|
```
|
|
31
|
-
Usage: /
|
|
31
|
+
Usage: /nf:mcp-restart <agent>
|
|
32
32
|
|
|
33
33
|
Valid agents:
|
|
34
34
|
codex-cli-1, gemini-cli-1, opencode-1, copilot-1,
|
|
@@ -170,7 +170,7 @@ Agent $AGENT restarted and responding
|
|
|
170
170
|
Print:
|
|
171
171
|
```
|
|
172
172
|
Processes killed. Claude Code is reconnecting to $AGENT.
|
|
173
|
-
Check status in a few seconds: /
|
|
173
|
+
Check status in a few seconds: /nf:mcp-status
|
|
174
174
|
```
|
|
175
175
|
|
|
176
176
|
</process>
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
|
-
name:
|
|
3
|
-
description: Set the default model for a quorum agent — validates against the agent's available_models and persists to ~/.claude/
|
|
2
|
+
name: nf:mcp-set-model
|
|
3
|
+
description: Set the default model for a quorum agent — validates against the agent's available_models and persists to ~/.claude/nf.json
|
|
4
4
|
argument-hint: "<agent> <model>"
|
|
5
5
|
allowed-tools:
|
|
6
6
|
- Bash
|
|
@@ -17,7 +17,7 @@ allowed-tools:
|
|
|
17
17
|
---
|
|
18
18
|
|
|
19
19
|
<objective>
|
|
20
|
-
Set the default model for a named quorum agent. The preference is written to `~/.claude/
|
|
20
|
+
Set the default model for a named quorum agent. The preference is written to `~/.claude/nf.json` under `model_preferences` and is picked up by the nForma prompt hook on the next quorum invocation.
|
|
21
21
|
</objective>
|
|
22
22
|
|
|
23
23
|
<process>
|
|
@@ -28,7 +28,7 @@ Parse `$ARGUMENTS` as two tokens: `$AGENT` and `$MODEL`.
|
|
|
28
28
|
|
|
29
29
|
If either token is missing, print usage and stop:
|
|
30
30
|
```
|
|
31
|
-
Usage: /
|
|
31
|
+
Usage: /nf:mcp-set-model <agent> <model>
|
|
32
32
|
|
|
33
33
|
Valid agents:
|
|
34
34
|
codex-cli-1, gemini-cli-1, opencode-1, copilot-1,
|
|
@@ -81,10 +81,10 @@ Error: Model "$MODEL" is not in $AGENT's available_models list.
|
|
|
81
81
|
Available models for $AGENT:
|
|
82
82
|
<list each model on its own line>
|
|
83
83
|
|
|
84
|
-
Run /
|
|
84
|
+
Run /nf:mcp-set-model $AGENT <model> with one of the above models.
|
|
85
85
|
```
|
|
86
86
|
|
|
87
|
-
## Step 5 — Write model preference to
|
|
87
|
+
## Step 5 — Write model preference to nf.json
|
|
88
88
|
|
|
89
89
|
Run this inline node script via Bash:
|
|
90
90
|
|
|
@@ -94,7 +94,7 @@ const fs = require('fs');
|
|
|
94
94
|
const path = require('path');
|
|
95
95
|
const os = require('os');
|
|
96
96
|
|
|
97
|
-
const cfgPath = path.join(os.homedir(), '.claude', '
|
|
97
|
+
const cfgPath = path.join(os.homedir(), '.claude', 'nf.json');
|
|
98
98
|
|
|
99
99
|
let cfg;
|
|
100
100
|
try {
|
|
@@ -127,7 +127,7 @@ Model preference updated
|
|
|
127
127
|
Old model: <oldModel or "(none — using agent default)">
|
|
128
128
|
New model: $MODEL
|
|
129
129
|
|
|
130
|
-
The preference is saved to ~/.claude/
|
|
130
|
+
The preference is saved to ~/.claude/nf.json.
|
|
131
131
|
The next quorum invocation will pass model="$MODEL" when calling $AGENT.
|
|
132
132
|
```
|
|
133
133
|
|