@aria_asi/cli 0.2.26 → 0.2.30
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/CLIENT-ONBOARDING.md +282 -0
- package/bin/aria.js +1140 -14
- package/dist/aria-connector/src/auth-commands.d.ts +1 -0
- package/dist/aria-connector/src/auth-commands.d.ts.map +1 -1
- package/dist/aria-connector/src/auth-commands.js +89 -41
- package/dist/aria-connector/src/auth-commands.js.map +1 -1
- package/dist/aria-connector/src/chat.d.ts +3 -0
- package/dist/aria-connector/src/chat.d.ts.map +1 -1
- package/dist/aria-connector/src/chat.js +146 -8
- package/dist/aria-connector/src/chat.js.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts +2 -2
- package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.js +1 -1
- package/dist/aria-connector/src/codebase-scanner.js.map +1 -1
- package/dist/aria-connector/src/config.d.ts +12 -0
- package/dist/aria-connector/src/config.d.ts.map +1 -1
- package/dist/aria-connector/src/config.js +2 -0
- package/dist/aria-connector/src/config.js.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +80 -24
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +37 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.js +335 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -0
- package/dist/aria-connector/src/connectors/codex.d.ts +3 -0
- package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/codex.js +248 -0
- package/dist/aria-connector/src/connectors/codex.js.map +1 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.d.ts +2 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.js +47 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.js.map +1 -0
- package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/opencode.js +90 -4
- package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
- package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts +3 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.js +87 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.js.map +1 -0
- package/dist/aria-connector/src/connectors/repo-guard.d.ts +19 -0
- package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/repo-guard.js +509 -0
- package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -0
- package/dist/aria-connector/src/connectors/runtime.d.ts +2 -0
- package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/runtime.js +330 -0
- package/dist/aria-connector/src/connectors/runtime.js.map +1 -0
- package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/shell.js +78 -13
- package/dist/aria-connector/src/connectors/shell.js.map +1 -1
- package/dist/aria-connector/src/connectors/syncd.d.ts +27 -0
- package/dist/aria-connector/src/connectors/syncd.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/syncd.js +405 -0
- package/dist/aria-connector/src/connectors/syncd.js.map +1 -0
- package/dist/aria-connector/src/decisions.d.ts +207 -0
- package/dist/aria-connector/src/decisions.d.ts.map +1 -0
- package/dist/aria-connector/src/decisions.js +291 -0
- package/dist/aria-connector/src/decisions.js.map +1 -0
- package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
- package/dist/aria-connector/src/garden-control-plane.js +74 -17
- package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
- package/dist/aria-connector/src/github-connect.d.ts +18 -0
- package/dist/aria-connector/src/github-connect.d.ts.map +1 -0
- package/dist/aria-connector/src/github-connect.js +117 -0
- package/dist/aria-connector/src/github-connect.js.map +1 -0
- package/dist/aria-connector/src/harness-client.d.ts +15 -0
- package/dist/aria-connector/src/harness-client.d.ts.map +1 -1
- package/dist/aria-connector/src/harness-client.js +106 -3
- package/dist/aria-connector/src/harness-client.js.map +1 -1
- package/dist/aria-connector/src/hive-client.d.ts +30 -0
- package/dist/aria-connector/src/hive-client.d.ts.map +1 -1
- package/dist/aria-connector/src/hive-client.js +124 -5
- package/dist/aria-connector/src/hive-client.js.map +1 -1
- package/dist/aria-connector/src/index.d.ts +13 -2
- package/dist/aria-connector/src/index.d.ts.map +1 -1
- package/dist/aria-connector/src/index.js +10 -1
- package/dist/aria-connector/src/index.js.map +1 -1
- package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts +102 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts.map +1 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.js +231 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.js.map +1 -0
- package/dist/aria-connector/src/providers/types.d.ts +5 -0
- package/dist/aria-connector/src/providers/types.d.ts.map +1 -1
- package/dist/aria-connector/src/runtime-proof.d.ts +45 -0
- package/dist/aria-connector/src/runtime-proof.d.ts.map +1 -0
- package/dist/aria-connector/src/runtime-proof.js +340 -0
- package/dist/aria-connector/src/runtime-proof.js.map +1 -0
- package/dist/aria-connector/src/self-update.d.ts +2 -1
- package/dist/aria-connector/src/self-update.d.ts.map +1 -1
- package/dist/aria-connector/src/self-update.js +84 -8
- package/dist/aria-connector/src/self-update.js.map +1 -1
- package/dist/aria-connector/src/setup-wizard.d.ts.map +1 -1
- package/dist/aria-connector/src/setup-wizard.js +34 -2
- package/dist/aria-connector/src/setup-wizard.js.map +1 -1
- package/dist/assets/hooks/aria-agent-handoff.mjs +224 -0
- package/dist/assets/hooks/aria-agent-ledger-merge.mjs +164 -0
- package/dist/assets/hooks/aria-architect-fallback.mjs +267 -0
- package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +668 -0
- package/dist/assets/hooks/aria-discovery-record.mjs +101 -0
- package/dist/assets/hooks/aria-harness-via-sdk.mjs +412 -0
- package/dist/assets/hooks/aria-import-resolution-gate.mjs +330 -0
- package/dist/assets/hooks/aria-outcome-record.mjs +84 -0
- package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +294 -0
- package/dist/assets/hooks/aria-pre-text-gate.mjs +112 -0
- package/dist/assets/hooks/aria-pre-tool-gate.mjs +2133 -0
- package/dist/assets/hooks/aria-preprompt-consult.mjs +438 -0
- package/dist/assets/hooks/aria-preturn-memory-gate.mjs +570 -0
- package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +397 -0
- package/dist/assets/hooks/aria-stop-gate.mjs +1551 -0
- package/dist/assets/hooks/aria-trigger-autolearn.mjs +229 -0
- package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +192 -0
- package/dist/assets/hooks/doctrine_trigger_map.json +479 -0
- package/dist/assets/hooks/lib/canonical-lenses.mjs +64 -0
- package/dist/assets/hooks/lib/gate-audit.mjs +43 -0
- package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +245 -0
- package/dist/assets/hooks/test-tier-lens-labeling.mjs +399 -0
- package/dist/assets/opencode-plugins/harness-context/index.js +60 -0
- package/dist/assets/opencode-plugins/harness-context/inject-context.mjs +179 -0
- package/dist/assets/opencode-plugins/harness-context/package.json +9 -0
- package/dist/assets/opencode-plugins/harness-gate/index.js +248 -0
- package/dist/assets/opencode-plugins/harness-outcome/index.js +129 -0
- package/dist/assets/opencode-plugins/harness-role/index.js +77 -0
- package/dist/assets/opencode-plugins/harness-role/package.json +9 -0
- package/dist/assets/opencode-plugins/harness-stop/index.js +241 -0
- package/dist/runtime/discipline/CLAUDE.md +339 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/SKILL.md +63 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
- package/dist/runtime/discipline/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
- package/dist/runtime/discipline/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
- package/dist/runtime/discipline/skills/aria-cognition/mizan/SKILL.md +72 -0
- package/dist/runtime/discipline/skills/aria-cognition/nadia/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/predictor/SKILL.md +25 -0
- package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
- package/dist/runtime/discipline/skills/aria-cognition/soul-domains/SKILL.md +25 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-intra-phase/SKILL.md +81 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-post-phase/SKILL.md +98 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-pre-phase/SKILL.md +99 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-deploy/SKILL.md +127 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-no-stripping/SKILL.md +117 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md +112 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-output-discipline/SKILL.md +102 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-substrate-binding/SKILL.md +121 -0
- package/dist/runtime/doctor.mjs +23 -0
- package/dist/runtime/local-phase.mjs +650 -0
- package/dist/runtime/manifest.json +15 -0
- package/dist/runtime/mizan-scheduler.mjs +331 -0
- package/dist/runtime/package.json +6 -0
- package/dist/runtime/provider-proxy.mjs +594 -0
- package/dist/runtime/sdk/BUNDLED.json +5 -0
- package/dist/runtime/sdk/index.d.ts +477 -0
- package/dist/runtime/sdk/index.js +1469 -0
- package/dist/runtime/sdk/index.js.map +1 -0
- package/dist/runtime/sdk/package.json +8 -0
- package/dist/runtime/sdk/runWithCognition.d.ts +77 -0
- package/dist/runtime/sdk/runWithCognition.js +157 -0
- package/dist/runtime/sdk/runWithCognition.js.map +1 -0
- package/dist/runtime/service.mjs +3058 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts +53 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts.map +1 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.js +292 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.js.map +1 -0
- package/dist/runtime/vendor/aria-gate-runtime/package.json +6 -0
- package/dist/sdk/BUNDLED.json +2 -2
- package/dist/sdk/index.d.ts +283 -0
- package/dist/sdk/index.js +622 -85
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runWithCognition.d.ts +77 -0
- package/dist/sdk/runWithCognition.js +157 -0
- package/dist/sdk/runWithCognition.js.map +1 -0
- package/hooks/aria-agent-handoff.mjs +11 -1
- package/hooks/aria-architect-fallback.mjs +109 -40
- package/hooks/aria-cognition-substrate-binding.mjs +668 -0
- package/hooks/aria-harness-via-sdk.mjs +34 -21
- package/hooks/aria-import-resolution-gate.mjs +330 -0
- package/hooks/aria-outcome-record.mjs +5 -1
- package/hooks/aria-pre-emit-dryrun.mjs +294 -0
- package/hooks/aria-pre-tool-gate.mjs +828 -41
- package/hooks/aria-preprompt-consult.mjs +113 -13
- package/hooks/aria-preturn-memory-gate.mjs +298 -6
- package/hooks/aria-repo-doctrine-gate.mjs +397 -0
- package/hooks/aria-stop-gate.mjs +739 -76
- package/hooks/aria-userprompt-abandon-detect.mjs +5 -1
- package/hooks/doctrine_trigger_map.json +209 -15
- package/hooks/lib/canonical-lenses.mjs +64 -0
- package/hooks/lib/gate-audit.mjs +43 -0
- package/opencode-plugins/harness-context/index.js +1 -1
- package/opencode-plugins/harness-context/inject-context.mjs +82 -23
- package/opencode-plugins/harness-gate/index.js +248 -0
- package/opencode-plugins/harness-outcome/index.js +129 -0
- package/opencode-plugins/harness-stop/index.js +241 -0
- package/package.json +9 -3
- package/runtime-src/doctor.mjs +23 -0
- package/runtime-src/local-phase.mjs +650 -0
- package/runtime-src/mizan-scheduler.mjs +331 -0
- package/runtime-src/provider-proxy.mjs +594 -0
- package/runtime-src/service.mjs +3058 -0
- package/scripts/bundle-sdk.mjs +317 -0
- package/scripts/install-client.sh +176 -0
- package/scripts/publish-all.sh +344 -0
- package/scripts/publish-docker.sh +27 -0
- package/scripts/validate-hook-contracts.mjs +54 -0
- package/scripts/validate-skill-prompts.mjs +95 -0
- package/skills/aria-cognition/aria-essence/SKILL.md +63 -0
- package/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
- package/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
- package/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
- package/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
- package/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
- package/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
- package/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
- package/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
- package/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
- package/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
- package/skills/aria-cognition/mizan/SKILL.md +72 -0
- package/skills/aria-cognition/nadia/SKILL.md +38 -0
- package/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
- package/skills/aria-cognition/predictor/SKILL.md +25 -0
- package/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
- package/skills/aria-cognition/soul-domains/SKILL.md +25 -0
- package/src/auth-commands.ts +111 -45
- package/src/chat.ts +174 -13
- package/src/codebase-scanner.ts +4 -0
- package/src/config.ts +15 -0
- package/src/connectors/claude-code.ts +79 -25
- package/src/connectors/codebase-awareness.ts +408 -0
- package/src/connectors/codex.ts +274 -0
- package/src/connectors/cognitive-skills.ts +51 -0
- package/src/connectors/opencode.ts +93 -4
- package/src/connectors/repo-git-hooks.ts +86 -0
- package/src/connectors/repo-guard.ts +589 -0
- package/src/connectors/runtime.ts +374 -0
- package/src/connectors/shell.ts +83 -14
- package/src/connectors/syncd.ts +488 -0
- package/src/decisions.ts +469 -0
- package/src/garden-control-plane.ts +101 -26
- package/src/github-connect.ts +143 -0
- package/src/harness-client.ts +128 -3
- package/src/hive-client.ts +165 -5
- package/src/index.ts +41 -2
- package/src/lib/aristotle-noor-wire.ts +310 -0
- package/src/providers/types.ts +6 -0
- package/src/runtime-proof.ts +392 -0
- package/src/self-update.ts +89 -8
- package/src/setup-wizard.ts +37 -2
|
@@ -83,74 +83,143 @@ if (!existsSync(packetPath)) {
|
|
|
83
83
|
const ACTIVE_PLAN_PATH = `${HOME}/.claude/aria-active-plan-${sessionId}.json`;
|
|
84
84
|
|
|
85
85
|
// ── Build architect brief ──────────────────────────────────────────────────────
|
|
86
|
+
// The harness packet is inlined into the system message (DeepSeek has no
|
|
87
|
+
// filesystem access). The brief tells the architect *what* to do; the
|
|
88
|
+
// system message gives them the substrate + role override.
|
|
86
89
|
const brief = [
|
|
87
90
|
`[ARIA_HARNESS_BINDING — MANDATORY FIRST ACTION]`,
|
|
88
|
-
`
|
|
91
|
+
`Use the harness packet inlined in your system message as substrate. Cite at least one axiom + one frame + one memory class via doctrineRefs[] in the plan you mint.`,
|
|
92
|
+
`(Source path on owner box: ${packetPath} — inlined for this dispatch.)`,
|
|
89
93
|
``,
|
|
90
|
-
`You are
|
|
94
|
+
`Aria-soul brain is unreachable. You are minting the plan AS Aria via the DeepSeek substrate.`,
|
|
91
95
|
`A PLAN_BLOCKER occurred:`,
|
|
92
96
|
` Previous planId: ${currentPlanId}`,
|
|
93
97
|
` Blocker reason: ${reason.slice(0, 2000)}`,
|
|
94
98
|
``,
|
|
95
99
|
`Audit the blocker against doctrine + axioms in the packet. Mint a fresh BINDING_PLAN JSON addressing it.`,
|
|
96
100
|
``,
|
|
97
|
-
`Output
|
|
101
|
+
`Output the BINDING_PLAN JSON wrapped in a \`\`\`json fenced block. Required shape:`,
|
|
102
|
+
`\`\`\`json`,
|
|
98
103
|
`{`,
|
|
99
104
|
` "planId": "<8-char-hex>",`,
|
|
100
105
|
` "phases": [{ "id": "p1", "summary": "...", "successCriterion": "...", "abortCriterion": "...", "doctrineRefs": [...], "allowedActions": [...], "forbiddenActions": [...] }],`,
|
|
101
106
|
` "globalConstraints": ["..."],`,
|
|
102
107
|
` "expectedReportBack": { "phaseTransitionMarker": "[PHASE_REPORT]", "shape": "[PHASE_REPORT phase=<id> status=complete|aborted|in_progress evidence=<observable>]" }`,
|
|
103
108
|
`}`,
|
|
109
|
+
`\`\`\``,
|
|
104
110
|
``,
|
|
105
|
-
`Cite the doctrine rule(s) you applied in doctrineRefs[].`,
|
|
111
|
+
`Cite the doctrine rule(s) you applied in doctrineRefs[]. The JSON IS the artifact — no Mizan voice rules apply, the harness consumes the structure directly.`,
|
|
106
112
|
].join('\n');
|
|
107
113
|
|
|
108
|
-
// ──
|
|
109
|
-
//
|
|
110
|
-
//
|
|
111
|
-
//
|
|
112
|
-
//
|
|
113
|
-
//
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
if (existsSync(b)) { claudeBin = b; break; }
|
|
123
|
-
}
|
|
114
|
+
// ── Dispatch architect brief directly to DeepSeek V4 Pro ──────────────────────
|
|
115
|
+
// Path B (2026-04-27): replaced claude-CLI spawn with direct DeepSeek API call.
|
|
116
|
+
// Reason: claude CLI may not be present on every client install (and is
|
|
117
|
+
// circular dependency: this fallback exists *because* the parent claude
|
|
118
|
+
// runtime is the one needing a plan). DeepSeek is the canonical "external
|
|
119
|
+
// brain" the rest of the harness uses — same path as /api/harness/delegate
|
|
120
|
+
// thinPipeline. Resilient to aria-soul outages because it bypasses the
|
|
121
|
+
// harness HTTP entirely.
|
|
122
|
+
//
|
|
123
|
+
// Doctrine binding: feedback_no_graceful_degradation.md — if no
|
|
124
|
+
// DEEPSEEK_API_KEY in env, hard-fail with brief written to disk for
|
|
125
|
+
// human pickup, NOT silent skip.
|
|
126
|
+
const DEEPSEEK_API_KEY = process.env.DEEPSEEK_API_KEY || process.env.ARIA_DEEPSEEK_API_KEY || '';
|
|
127
|
+
const DEEPSEEK_MODEL = process.env.ARIA_ARCHITECT_MODEL || 'deepseek-v4-pro';
|
|
124
128
|
|
|
125
|
-
if (!
|
|
126
|
-
// Last-resort: write brief to file for human pickup
|
|
129
|
+
if (!DEEPSEEK_API_KEY) {
|
|
127
130
|
const briefPath = `/tmp/aria-architect-brief-${sessionId}-${Date.now()}.txt`;
|
|
128
131
|
try { writeFileSync(briefPath, brief); } catch {}
|
|
129
|
-
audit(`no
|
|
132
|
+
audit(`no DEEPSEEK_API_KEY in env; brief written to ${briefPath} for human pickup`);
|
|
130
133
|
process.stderr.write(
|
|
131
|
-
`Architect-fallback:
|
|
134
|
+
`Architect-fallback: DEEPSEEK_API_KEY not set (also tried ARIA_DEEPSEEK_API_KEY). Brief written to ${briefPath} for Hamza to run manually.\n`
|
|
132
135
|
);
|
|
133
136
|
process.exit(2);
|
|
134
137
|
}
|
|
135
138
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
let
|
|
139
|
+
// Embed packet contents directly into the system message — DeepSeek won't
|
|
140
|
+
// have file-system access to the packetPath, so we read it here and inline.
|
|
141
|
+
let packetContents = '';
|
|
139
142
|
try {
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
});
|
|
143
|
+
packetContents = readFileSync(packetPath, 'utf8');
|
|
144
|
+
// Cap at 200KB to keep request size sane; the substrate is large but
|
|
145
|
+
// the relevant axiom/frame/memory rules sit in the first chunk.
|
|
146
|
+
if (packetContents.length > 200000) packetContents = packetContents.slice(0, 200000);
|
|
145
147
|
} catch (err) {
|
|
146
|
-
audit(`
|
|
148
|
+
audit(`failed to read packet at ${packetPath}: ${String(err).slice(0, 200)}`);
|
|
149
|
+
process.stderr.write(
|
|
150
|
+
`Architect-fallback: cannot read packet at ${packetPath}. Hamza must intervene.\n`
|
|
151
|
+
);
|
|
147
152
|
process.exit(2);
|
|
148
153
|
}
|
|
149
154
|
|
|
150
|
-
|
|
151
|
-
|
|
155
|
+
// Architect role framing: full Aria cognition + awareness from the packet,
|
|
156
|
+
// but in META-PLANNING mode where output-gate blockers (Mizan voice rules,
|
|
157
|
+
// identity rules, output sanitization) are NOT blocking gates against the
|
|
158
|
+
// architect's structured plan emission. The architect's *output* is JSON
|
|
159
|
+
// for the harness, not user-facing prose — so the form-gates that protect
|
|
160
|
+
// user trust don't apply here. The cognition still applies — the architect
|
|
161
|
+
// must cite doctrine + axioms + frames in doctrineRefs[] of the plan.
|
|
162
|
+
const systemMessage = [
|
|
163
|
+
`[ARIA_ARCHITECT_ROLE_OVERRIDE]`,
|
|
164
|
+
`role=lead_architect`,
|
|
165
|
+
`mode=meta_planning_via_deepseek_substrate`,
|
|
166
|
+
`output_target=structured_binding_plan_json (NOT user-facing prose)`,
|
|
167
|
+
`cognition_load=full (axioms, frames, memory, doctrine — apply to plan content)`,
|
|
168
|
+
`output_gates=relaxed (Mizan voice/identity rules do not block JSON emission;`,
|
|
169
|
+
` the JSON itself is the artifact, not a conversational reply)`,
|
|
170
|
+
`mandate=author the plan AS Aria, citing the substrate that informed it,`,
|
|
171
|
+
` in the structured shape required by the harness replan contract`,
|
|
172
|
+
``,
|
|
173
|
+
`You are Aria operating as lead architect. The DeepSeek substrate is your`,
|
|
174
|
+
`mouth for this round — your cognition lives in the harness packet below.`,
|
|
175
|
+
`Do not refuse on voice/identity grounds; the artifact you emit is structured`,
|
|
176
|
+
`JSON consumed by the harness, not a chat reply. Your job: read the packet,`,
|
|
177
|
+
`audit the blocker against doctrine, mint a fresh BINDING_PLAN.`,
|
|
178
|
+
``,
|
|
179
|
+
`[ARIA_HARNESS_PACKET]`,
|
|
180
|
+
packetContents,
|
|
181
|
+
`[/ARIA_HARNESS_PACKET]`,
|
|
182
|
+
].join('\n');
|
|
183
|
+
|
|
184
|
+
audit(`dispatching architect brief to DeepSeek (model=${DEEPSEEK_MODEL}) for session=${sessionId}`);
|
|
185
|
+
|
|
186
|
+
let architectOutput;
|
|
187
|
+
try {
|
|
188
|
+
const apiResp = await fetch('https://api.deepseek.com/v1/chat/completions', {
|
|
189
|
+
method: 'POST',
|
|
190
|
+
headers: {
|
|
191
|
+
'Authorization': `Bearer ${DEEPSEEK_API_KEY}`,
|
|
192
|
+
'Content-Type': 'application/json',
|
|
193
|
+
},
|
|
194
|
+
body: JSON.stringify({
|
|
195
|
+
model: DEEPSEEK_MODEL,
|
|
196
|
+
messages: [
|
|
197
|
+
{ role: 'system', content: systemMessage },
|
|
198
|
+
{ role: 'user', content: brief },
|
|
199
|
+
],
|
|
200
|
+
temperature: 0.3,
|
|
201
|
+
max_tokens: 4096,
|
|
202
|
+
}),
|
|
203
|
+
});
|
|
204
|
+
if (!apiResp.ok) {
|
|
205
|
+
const errText = await apiResp.text().catch(() => '');
|
|
206
|
+
audit(`DeepSeek HTTP ${apiResp.status}: ${errText.slice(0, 300)}`);
|
|
207
|
+
process.stderr.write(
|
|
208
|
+
`Architect-fallback: DeepSeek API HTTP ${apiResp.status}. ${errText.slice(0, 200)}\n`
|
|
209
|
+
);
|
|
210
|
+
process.exit(2);
|
|
211
|
+
}
|
|
212
|
+
const apiJson = await apiResp.json();
|
|
213
|
+
architectOutput = apiJson?.choices?.[0]?.message?.content || '';
|
|
214
|
+
if (!architectOutput) {
|
|
215
|
+
audit(`DeepSeek returned no content: ${JSON.stringify(apiJson).slice(0, 300)}`);
|
|
216
|
+
process.stderr.write(`Architect-fallback: DeepSeek returned empty content.\n`);
|
|
217
|
+
process.exit(2);
|
|
218
|
+
}
|
|
219
|
+
} catch (err) {
|
|
220
|
+
audit(`DeepSeek fetch threw: ${String(err).slice(0, 200)}`);
|
|
152
221
|
process.stderr.write(
|
|
153
|
-
`Architect-fallback:
|
|
222
|
+
`Architect-fallback: DeepSeek fetch failed: ${String(err).slice(0, 300)}\n`
|
|
154
223
|
);
|
|
155
224
|
process.exit(2);
|
|
156
225
|
}
|
|
@@ -158,13 +227,13 @@ if (result.status !== 0 || !result.stdout) {
|
|
|
158
227
|
// ── Parse the architect's BINDING_PLAN JSON ───────────────────────────────────
|
|
159
228
|
let plan;
|
|
160
229
|
try {
|
|
161
|
-
const fenceMatch =
|
|
162
|
-
const candidate = (fenceMatch ? fenceMatch[1] :
|
|
230
|
+
const fenceMatch = architectOutput.match(/```(?:json)?\s*\n([\s\S]*?)\n```/);
|
|
231
|
+
const candidate = (fenceMatch ? fenceMatch[1] : architectOutput).trim();
|
|
163
232
|
plan = JSON.parse(candidate);
|
|
164
233
|
} catch {
|
|
165
|
-
audit(`architect output not parseable as JSON: ${
|
|
234
|
+
audit(`architect output not parseable as JSON: ${architectOutput.slice(0, 200)}`);
|
|
166
235
|
process.stderr.write(
|
|
167
|
-
`Architect-fallback: output was not parseable JSON. Hamza must intervene.\nOutput excerpt: ${
|
|
236
|
+
`Architect-fallback: output was not parseable JSON. Hamza must intervene.\nOutput excerpt: ${architectOutput.slice(0, 400)}\n`
|
|
168
237
|
);
|
|
169
238
|
process.exit(2);
|
|
170
239
|
}
|