@aria_asi/cli 0.2.39 → 0.2.41
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/bin/aria.js +236 -34
- package/dist/aria-connector/src/action-ledger-core.d.ts +387 -0
- package/dist/aria-connector/src/action-ledger-core.d.ts.map +1 -0
- package/dist/aria-connector/src/action-ledger-core.js +638 -0
- package/dist/aria-connector/src/action-ledger-core.js.map +1 -0
- package/dist/aria-connector/src/chat.d.ts.map +1 -1
- package/dist/aria-connector/src/chat.js +5 -6
- package/dist/aria-connector/src/chat.js.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.d.ts +1 -0
- package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +152 -14
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +10 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.js +276 -27
- package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -1
- package/dist/aria-connector/src/connectors/codex.d.ts +3 -1
- package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/codex.js +1271 -40
- package/dist/aria-connector/src/connectors/codex.js.map +1 -1
- package/dist/aria-connector/src/connectors/cursor.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/cursor.js +7 -0
- package/dist/aria-connector/src/connectors/cursor.js.map +1 -1
- package/dist/aria-connector/src/connectors/governed-adapter.d.ts +30 -0
- package/dist/aria-connector/src/connectors/governed-adapter.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/governed-adapter.js +132 -0
- package/dist/aria-connector/src/connectors/governed-adapter.js.map +1 -0
- package/dist/aria-connector/src/connectors/opencode.d.ts +3 -1
- package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/opencode.js +18 -2
- package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
- package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/repo-guard.js +25 -14
- package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/runtime.js +92 -2
- package/dist/aria-connector/src/connectors/runtime.js.map +1 -1
- package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/shell.js +123 -7
- package/dist/aria-connector/src/connectors/shell.js.map +1 -1
- package/dist/aria-connector/src/cross-cli-hive-binding.d.ts +63 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.d.ts.map +1 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.js +205 -0
- package/dist/aria-connector/src/cross-cli-hive-binding.js.map +1 -0
- package/dist/aria-connector/src/garden-control-plane.d.ts +6 -1
- package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
- package/dist/aria-connector/src/garden-control-plane.js +8 -2
- package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
- package/dist/aria-connector/src/governed-surface-runner.d.ts +189 -0
- package/dist/aria-connector/src/governed-surface-runner.d.ts.map +1 -0
- package/dist/aria-connector/src/governed-surface-runner.js +1022 -0
- package/dist/aria-connector/src/governed-surface-runner.js.map +1 -0
- package/dist/aria-connector/src/index.d.ts +10 -1
- package/dist/aria-connector/src/index.d.ts.map +1 -1
- package/dist/aria-connector/src/index.js +5 -0
- package/dist/aria-connector/src/index.js.map +1 -1
- package/dist/aria-connector/src/task-runner.d.ts +3 -0
- package/dist/aria-connector/src/task-runner.d.ts.map +1 -0
- package/dist/aria-connector/src/task-runner.js +3526 -0
- package/dist/aria-connector/src/task-runner.js.map +1 -0
- package/dist/aria-web/src/lib/codebase-scanner.d.ts +21 -2
- package/dist/aria-web/src/lib/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-web/src/lib/codebase-scanner.js +59 -14
- package/dist/aria-web/src/lib/codebase-scanner.js.map +1 -1
- package/dist/assets/hooks/README.md +58 -0
- package/dist/assets/hooks/aria-agent-handoff.mjs +147 -2
- package/dist/assets/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/dist/assets/hooks/aria-architect-fallback.mjs +10 -2
- package/dist/assets/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/dist/assets/hooks/aria-first-class-coach.mjs +305 -10
- package/dist/assets/hooks/aria-harness-via-sdk.mjs +93 -16
- package/dist/assets/hooks/aria-import-resolution-gate.mjs +106 -20
- package/dist/assets/hooks/aria-outcome-record.mjs +56 -20
- package/dist/assets/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/dist/assets/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/dist/assets/hooks/aria-pre-text-gate.mjs +11 -2
- package/dist/assets/hooks/aria-pre-tool-gate.mjs +516 -92
- package/dist/assets/hooks/aria-pre-tool-use.mjs +70 -6
- package/dist/assets/hooks/aria-preprompt-consult.mjs +23 -4
- package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/dist/assets/hooks/aria-stop-gate.mjs +585 -76
- package/dist/assets/hooks/aria-trigger-autolearn.mjs +17 -3
- package/dist/assets/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/dist/assets/hooks/canonical-settings-block.json +172 -0
- package/dist/assets/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/dist/assets/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/dist/assets/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/dist/assets/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/dist/assets/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/dist/assets/hooks/codex-native/aria-stop.mjs +691 -0
- package/dist/assets/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/dist/assets/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/dist/assets/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/dist/assets/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/dist/assets/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/dist/assets/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/dist/assets/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/dist/assets/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/dist/assets/hooks/doctrine_trigger_map.json +236 -25
- package/dist/assets/hooks/doctrine_trigger_map.schema.json +46 -0
- package/dist/assets/hooks/install.sh +84 -0
- package/dist/assets/hooks/lib/action-ledger-core.mjs +269 -0
- package/dist/assets/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/dist/assets/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/dist/assets/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/dist/assets/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/dist/assets/hooks/lib/canonical-lenses.mjs +83 -6
- package/dist/assets/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/dist/assets/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/dist/assets/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/dist/assets/hooks/lib/domain-output-quality.mjs +132 -3
- package/dist/assets/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/dist/assets/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/dist/assets/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/assets/hooks/lib/first-class-coach.mjs +454 -19
- package/dist/assets/hooks/lib/gate-audit.mjs +12 -2
- package/dist/assets/hooks/lib/gate-loop-state.mjs +11 -2
- package/dist/assets/hooks/lib/goal-contract-quality.mjs +302 -0
- package/dist/assets/hooks/lib/hook-message-window.mjs +101 -9
- package/dist/assets/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/dist/assets/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/assets/hooks/lib/obligation-ledger.mjs +147 -0
- package/dist/assets/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/dist/assets/hooks/lib/owner-authorizations.mjs +269 -0
- package/dist/assets/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/dist/assets/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/dist/assets/hooks/lib/recovery-context.mjs +151 -0
- package/dist/assets/hooks/lib/recovery-template-loader.mjs +154 -0
- package/dist/assets/hooks/lib/self-doctrine-check.mjs +321 -0
- package/dist/assets/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/dist/assets/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/dist/assets/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/dist/assets/hooks/lib/surface-caught.mjs +94 -0
- package/dist/assets/hooks/recovery-templates/force-reauthor.md +67 -0
- package/dist/assets/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/dist/assets/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/dist/assets/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/dist/assets/hooks/test-tier-lens-labeling.mjs +14 -3
- package/dist/assets/opencode-plugins/harness-context/index.js +39 -6
- package/dist/assets/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
- package/dist/assets/opencode-plugins/harness-gate/index.js +36 -0
- package/dist/assets/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
- package/dist/assets/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
- package/dist/assets/opencode-plugins/harness-outcome/index.js +12 -0
- package/dist/assets/opencode-plugins/harness-stop/index.js +97 -2
- package/dist/assets/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
- package/dist/assets/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
- package/dist/assets/opencode-plugins/lib/coach.js +148 -0
- package/dist/runtime/coach-kernel.mjs +144 -7
- package/dist/runtime/codex-bridge.mjs +254 -8
- package/dist/runtime/discipline/doctrine_trigger_map.json +236 -25
- package/dist/runtime/discipline/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-chat/SKILL.md +84 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ops/SKILL.md +60 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
- package/dist/runtime/discipline/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
- package/dist/runtime/discipline/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/never-guess/SKILL.md +77 -0
- package/dist/runtime/discipline/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
- package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
- package/dist/runtime/discipline/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur/SKILL.md +506 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
- package/dist/runtime/discipline/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
- package/dist/runtime/discipline/skills/aria-cognition/tafakkur/SKILL.md +104 -0
- package/dist/runtime/doctrine_trigger_map.json +236 -25
- package/dist/runtime/embedded-public-key.mjs +27 -0
- package/dist/runtime/gated-ledger.mjs +41 -14
- package/dist/runtime/harness-daemon.mjs +85 -10
- package/dist/runtime/hive-wal-publisher.mjs +292 -0
- package/dist/runtime/hooks/README.md +58 -0
- package/dist/runtime/hooks/aria-agent-handoff.mjs +147 -2
- package/dist/runtime/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/dist/runtime/hooks/aria-architect-fallback.mjs +10 -2
- package/dist/runtime/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/dist/runtime/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/dist/runtime/hooks/aria-first-class-coach.mjs +305 -10
- package/dist/runtime/hooks/aria-harness-via-sdk.mjs +93 -16
- package/dist/runtime/hooks/aria-import-resolution-gate.mjs +106 -20
- package/dist/runtime/hooks/aria-outcome-record.mjs +56 -20
- package/dist/runtime/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/dist/runtime/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/dist/runtime/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/dist/runtime/hooks/aria-pre-text-gate.mjs +11 -2
- package/dist/runtime/hooks/aria-pre-tool-gate.mjs +516 -92
- package/dist/runtime/hooks/aria-pre-tool-use.mjs +70 -6
- package/dist/runtime/hooks/aria-preprompt-consult.mjs +23 -4
- package/dist/runtime/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/dist/runtime/hooks/aria-stop-gate.mjs +585 -76
- package/dist/runtime/hooks/aria-trigger-autolearn.mjs +17 -3
- package/dist/runtime/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/dist/runtime/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/dist/runtime/hooks/canonical-settings-block.json +172 -0
- package/dist/runtime/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/dist/runtime/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/dist/runtime/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/dist/runtime/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/dist/runtime/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/dist/runtime/hooks/codex-native/aria-stop.mjs +691 -0
- package/dist/runtime/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/dist/runtime/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/dist/runtime/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/dist/runtime/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/dist/runtime/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/dist/runtime/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/dist/runtime/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/dist/runtime/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/dist/runtime/hooks/doctrine_trigger_map.json +236 -25
- package/dist/runtime/hooks/doctrine_trigger_map.schema.json +46 -0
- package/dist/runtime/hooks/install.sh +84 -0
- package/dist/runtime/hooks/lib/action-ledger-core.mjs +269 -0
- package/dist/runtime/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/dist/runtime/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/dist/runtime/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/dist/runtime/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/dist/runtime/hooks/lib/canonical-lenses.mjs +83 -6
- package/dist/runtime/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/dist/runtime/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/dist/runtime/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/dist/runtime/hooks/lib/domain-output-quality.mjs +132 -3
- package/dist/runtime/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/dist/runtime/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/dist/runtime/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/runtime/hooks/lib/first-class-coach.mjs +454 -19
- package/dist/runtime/hooks/lib/gate-audit.mjs +12 -2
- package/dist/runtime/hooks/lib/gate-loop-state.mjs +11 -2
- package/dist/runtime/hooks/lib/goal-contract-quality.mjs +302 -0
- package/dist/runtime/hooks/lib/hook-message-window.mjs +101 -9
- package/dist/runtime/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/dist/runtime/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/runtime/hooks/lib/obligation-ledger.mjs +147 -0
- package/dist/runtime/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/dist/runtime/hooks/lib/owner-authorizations.mjs +269 -0
- package/dist/runtime/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/dist/runtime/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/dist/runtime/hooks/lib/recovery-context.mjs +151 -0
- package/dist/runtime/hooks/lib/recovery-template-loader.mjs +154 -0
- package/dist/runtime/hooks/lib/self-doctrine-check.mjs +321 -0
- package/dist/runtime/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/dist/runtime/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/dist/runtime/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/dist/runtime/hooks/lib/surface-caught.mjs +94 -0
- package/dist/runtime/hooks/recovery-templates/force-reauthor.md +67 -0
- package/dist/runtime/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/dist/runtime/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/dist/runtime/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/dist/runtime/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/dist/runtime/hooks/test-tier-lens-labeling.mjs +14 -3
- package/dist/runtime/lib/evaluate-with-kernel.mjs +133 -0
- package/dist/runtime/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/dist/runtime/local-phase.mjs +10 -5
- package/dist/runtime/manifest.json +8 -8
- package/dist/runtime/packet-verifier.mjs +166 -0
- package/dist/runtime/provider-proxy.mjs +13 -0
- package/dist/runtime/quality-enforcer.mjs +40 -23
- package/dist/runtime/runtime-rails/registry.mjs +252 -0
- package/dist/runtime/sdk/BUNDLED.json +2 -2
- package/dist/runtime/sdk/index.d.ts +119 -4
- package/dist/runtime/sdk/index.js +138 -12
- package/dist/runtime/sdk/index.js.map +1 -1
- package/dist/runtime/service.mjs +8036 -764
- package/dist/runtime/sub-agent-enforcer.mjs +201 -0
- package/dist/runtime/task-project-ledger.mjs +5 -1
- package/dist/sdk/BUNDLED.json +2 -2
- package/dist/sdk/index.d.ts +119 -4
- package/dist/sdk/index.js +138 -12
- package/dist/sdk/index.js.map +1 -1
- package/hooks/README.md +58 -0
- package/hooks/aria-agent-handoff.mjs +147 -2
- package/hooks/aria-agent-ledger-merge.mjs +31 -7
- package/hooks/aria-architect-fallback.mjs +10 -2
- package/hooks/aria-claim-evidence-stop-gate.mjs +240 -0
- package/hooks/aria-cognition-substrate-binding.mjs +84 -10
- package/hooks/aria-first-class-coach.mjs +305 -10
- package/hooks/aria-harness-via-sdk.mjs +93 -16
- package/hooks/aria-import-resolution-gate.mjs +106 -20
- package/hooks/aria-outcome-record.mjs +56 -20
- package/hooks/aria-pre-emit-autoload.mjs +1809 -0
- package/hooks/aria-pre-emit-autoload.mjs.before-orchestration-redesign +1400 -0
- package/hooks/aria-pre-emit-dryrun.mjs +22 -3
- package/hooks/aria-pre-text-gate.mjs +11 -2
- package/hooks/aria-pre-tool-gate.mjs +516 -92
- package/hooks/aria-pre-tool-use.mjs +70 -6
- package/hooks/aria-preprompt-consult.mjs +23 -4
- package/hooks/aria-repo-doctrine-gate.mjs +29 -3
- package/hooks/aria-stop-gate.mjs +585 -76
- package/hooks/aria-trigger-autolearn.mjs +17 -3
- package/hooks/aria-universal-turn-packet.mjs +1165 -0
- package/hooks/aria-userprompt-abandon-detect.mjs +9 -1
- package/hooks/canonical-settings-block.json +172 -0
- package/hooks/codex-native/aria-harness-ticker-sidecar.mjs +92 -0
- package/hooks/codex-native/aria-hive-wal-consumer.mjs +86 -0
- package/hooks/codex-native/aria-live-ticker.mjs +38 -0
- package/hooks/codex-native/aria-post-tool-use.mjs +236 -0
- package/hooks/codex-native/aria-pre-tool-use.mjs +362 -0
- package/hooks/codex-native/aria-stop.mjs +691 -0
- package/hooks/codex-native/aria-userprompt-submit.mjs +623 -0
- package/hooks/codex-native/atlas-session-context.mjs +121 -0
- package/hooks/codex-native/lib/evaluate-with-kernel.mjs +257 -0
- package/hooks/codex-native/lib/hive-wal-consumer.mjs +452 -0
- package/hooks/codex-native/lib/kernel/deterministic-cognitive-kernel.mjs +914 -0
- package/hooks/codex-native/lib/project-boundary-cognition.mjs +143 -0
- package/hooks/codex-native/lib/runtime-client.mjs +3567 -0
- package/hooks/codex-native/lib/task-project-ledger.mjs +294 -0
- package/hooks/doctrine_trigger_map.json +236 -25
- package/hooks/doctrine_trigger_map.schema.json +46 -0
- package/hooks/install.sh +84 -0
- package/hooks/lib/action-ledger-core.mjs +269 -0
- package/hooks/lib/aria-gate-ledger.mjs +143 -0
- package/hooks/lib/ast-stub-shape-detector.mjs +107 -0
- package/hooks/lib/atlas-dossier-client.mjs +151 -0
- package/hooks/lib/atlas-orchestrator-postwire.mjs +221 -0
- package/hooks/lib/canonical-lenses.mjs +83 -6
- package/hooks/lib/coach-intent-classifier.mjs +248 -0
- package/hooks/lib/cognitive-block-parser.mjs +111 -0
- package/hooks/lib/doctrine-trigger-map-loader.mjs +137 -0
- package/hooks/lib/domain-output-quality.mjs +132 -3
- package/hooks/lib/empty-catch-scanner.mjs +91 -0
- package/hooks/lib/end-phase-qa-autofire.mjs +426 -0
- package/hooks/lib/evaluate-with-kernel.mjs +133 -0
- package/hooks/lib/first-class-coach.mjs +454 -19
- package/hooks/lib/gate-audit.mjs +12 -2
- package/hooks/lib/gate-loop-state.mjs +11 -2
- package/hooks/lib/goal-contract-quality.mjs +302 -0
- package/hooks/lib/hook-message-window.mjs +101 -9
- package/hooks/lib/invocation-required-verifier.mjs +184 -0
- package/hooks/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/hooks/lib/obligation-ledger.mjs +147 -0
- package/hooks/lib/orchestration-manifest-extract.mjs +217 -0
- package/hooks/lib/owner-authorizations.mjs +269 -0
- package/hooks/lib/probe-discipline-scanner.mjs +142 -0
- package/hooks/lib/project-boundary-cognition.mjs +143 -0
- package/hooks/lib/recovery-context.mjs +151 -0
- package/hooks/lib/recovery-template-loader.mjs +154 -0
- package/hooks/lib/self-doctrine-check.mjs +321 -0
- package/hooks/lib/sensitive-shape-detector.mjs +64 -0
- package/hooks/lib/skill-autoload-gate-impl.mjs +226 -1
- package/hooks/lib/stop-hook-protocol.mjs +166 -0
- package/hooks/lib/surface-caught.mjs +94 -0
- package/hooks/recovery-templates/force-reauthor.md +67 -0
- package/hooks/recovery-templates/handoff-recovery.md +25 -0
- package/hooks/scripts/check-hard-risk-prefix.mjs +99 -0
- package/hooks/skills/aria-conversational-doctrine-discipline/SKILL.md +101 -0
- package/hooks/test-aria-preturn-memory-gate.mjs +2 -2
- package/hooks/test-tier-lens-labeling.mjs +14 -3
- package/opencode-plugins/harness-context/index.js +39 -6
- package/opencode-plugins/harness-context/task-project-ledger.mjs +5 -1
- package/opencode-plugins/harness-gate/index.js +36 -0
- package/opencode-plugins/harness-gate/lib/atlas-dossier-client.js +1 -0
- package/opencode-plugins/harness-gate/lib/recovery-grants.js +79 -0
- package/opencode-plugins/harness-outcome/index.js +12 -0
- package/opencode-plugins/harness-stop/index.js +97 -2
- package/opencode-plugins/harness-stop/lib/atlas-dossier-client.js +1 -0
- package/opencode-plugins/harness-stop/lib/domain-output-quality.js +15 -2
- package/opencode-plugins/lib/coach.js +148 -0
- package/package.json +71 -5
- package/runtime-src/coach-kernel.mjs +144 -7
- package/runtime-src/codex-bridge.mjs +254 -8
- package/runtime-src/embedded-public-key.mjs +27 -0
- package/runtime-src/gated-ledger.mjs +41 -14
- package/runtime-src/harness-daemon.mjs +85 -10
- package/runtime-src/hive-wal-publisher.mjs +292 -0
- package/runtime-src/lib/evaluate-with-kernel.mjs +133 -0
- package/runtime-src/lib/kernel/deterministic-cognitive-kernel.mjs +906 -0
- package/runtime-src/local-phase.mjs +10 -5
- package/runtime-src/packet-verifier.mjs +166 -0
- package/runtime-src/provider-proxy.mjs +13 -0
- package/runtime-src/quality-enforcer.mjs +40 -23
- package/runtime-src/runtime-rails/registry.mjs +252 -0
- package/runtime-src/service.mjs +8036 -764
- package/runtime-src/sub-agent-enforcer.mjs +201 -0
- package/scripts/aria-ledger-append.mjs +337 -0
- package/scripts/aria-task-cheap-worker-dispatch.mjs +234 -0
- package/scripts/audit-of-audit-prior-tasks.mjs +194 -0
- package/scripts/audit-of-audit-this-turn.mjs +116 -0
- package/scripts/bundle-sdk.mjs +31 -5
- package/scripts/check-cli-wrapper-provider-contract.mjs +160 -0
- package/scripts/check-client-compatibility.mjs +15 -5
- package/scripts/check-client-smoke.mjs +297 -0
- package/scripts/check-codex-orchestrator-adoption.mjs +150 -0
- package/scripts/check-glm-env-wired.mjs +131 -0
- package/scripts/check-hive-local-storage-contract.mjs +91 -0
- package/scripts/check-hook-mirror.mjs +150 -0
- package/scripts/check-install-sh-drift.mjs +152 -0
- package/scripts/check-kernel-sync.mjs +101 -0
- package/scripts/check-package-artifact.mjs +152 -0
- package/scripts/check-registry-mirror.mjs +71 -0
- package/scripts/drain-owner-airtable-sync-queue.mjs +287 -0
- package/scripts/export-owner-status-sheets.mjs +589 -0
- package/scripts/live-sidecar-receipt-canary.mjs +347 -0
- package/scripts/qiyas-tadabbur-model-matrix.mjs +970 -0
- package/scripts/quality-ab-live-provider.mjs +913 -0
- package/scripts/self-test-action-ledger-core.mjs +190 -0
- package/scripts/self-test-approval-receipt-binding.mjs +122 -0
- package/scripts/self-test-autofire-quality-output.mjs +110 -0
- package/scripts/self-test-claude-code-action-ledger.mjs +132 -0
- package/scripts/self-test-claude-code-mechanical-autofire-hive.mjs +138 -0
- package/scripts/self-test-claude-code-mechanical-autofire.mjs +234 -0
- package/scripts/self-test-codebase-awareness-atlas-delta.mjs +159 -0
- package/scripts/self-test-codebase-awareness-delta-ingest.mjs +179 -0
- package/scripts/self-test-codex-live-hook-parity.mjs +84 -0
- package/scripts/self-test-codex-native-action-ledger.mjs +167 -0
- package/scripts/self-test-codex-native-hook-json-contract.mjs +74 -0
- package/scripts/self-test-codex-orchestrator-continuity.mjs +113 -0
- package/scripts/self-test-codex-readable-recovery.mjs +94 -0
- package/scripts/self-test-codex-self-harness.mjs +538 -0
- package/scripts/self-test-compiled-workunit.mjs +214 -0
- package/scripts/self-test-continuation-output-smoke.mjs +101 -0
- package/scripts/self-test-cross-cli-fleet-ticker.mjs +85 -0
- package/scripts/self-test-cross-cli-hive-adoption.mjs +125 -0
- package/scripts/self-test-cross-cli-hive-learning.mjs +146 -0
- package/scripts/self-test-cross-phase-tool-failure.mjs +110 -0
- package/scripts/self-test-cross-surface-action-ledger.mjs +149 -0
- package/scripts/self-test-end-of-phase-qa-court.mjs +616 -0
- package/scripts/self-test-evaluate-with-kernel.mjs +111 -0
- package/scripts/self-test-first-class-output-delta-proof.mjs +307 -0
- package/scripts/self-test-goal-contract-output-qa.mjs +73 -0
- package/scripts/self-test-goal-contract.mjs +35 -0
- package/scripts/self-test-governed-adapters.mjs +105 -0
- package/scripts/self-test-governed-surface-runner.mjs +198 -0
- package/scripts/self-test-harness-gates.mjs +15 -12
- package/scripts/self-test-harness-ticker-sidecar.mjs +153 -0
- package/scripts/self-test-hive-org-kernel.mjs +233 -0
- package/scripts/self-test-hive-session-coordination.mjs +156 -0
- package/scripts/self-test-hive-wal-consumer.mjs +111 -0
- package/scripts/self-test-kernel-a3-a4-selection.mjs +179 -0
- package/scripts/self-test-ledger-append.mjs +175 -0
- package/scripts/self-test-live-codex-posttool-packet-smoke.mjs +111 -0
- package/scripts/self-test-live-codex-pretool-packet-smoke.mjs +101 -0
- package/scripts/self-test-live-codex-stop-qa-kernel-smoke.mjs +43 -0
- package/scripts/self-test-live-wrapper-substrate-inventory.mjs +149 -0
- package/scripts/self-test-local-main-sync-script.mjs +47 -0
- package/scripts/self-test-mechanical-autofire-resolver.mjs +296 -0
- package/scripts/self-test-no-consult-cognitive-skills-output.mjs +135 -0
- package/scripts/self-test-owner-airtable-sync-queue.mjs +196 -0
- package/scripts/self-test-owner-airtable-sync.mjs +181 -0
- package/scripts/self-test-owner-sheets-action-ledger.mjs +100 -0
- package/scripts/self-test-production-preflight.mjs +78 -0
- package/scripts/self-test-project-boundary-cognition.mjs +79 -0
- package/scripts/self-test-qa-exec-kernel.mjs +34 -0
- package/scripts/self-test-qa-recovery-learning-loop.mjs +113 -0
- package/scripts/self-test-qiyas-label-alignment.mjs +94 -0
- package/scripts/self-test-recovery-context.mjs +110 -0
- package/scripts/self-test-repo-guard.mjs +10 -0
- package/scripts/self-test-runtime-health-self-heal.mjs +161 -0
- package/scripts/self-test-runtime-postcondition.mjs +70 -0
- package/scripts/self-test-soul-precommit-hook.mjs +39 -0
- package/scripts/self-test-stop-gate-kernel-guards.mjs +185 -0
- package/scripts/self-test-stop-gate.mjs +128 -0
- package/scripts/self-test-substrate-kernel-execution-receipt.mjs +130 -0
- package/scripts/self-test-substrate-open-skill-floor.mjs +87 -0
- package/scripts/self-test-substrate-output-quality-eval.mjs +171 -0
- package/scripts/self-test-task-closeout-drift.mjs +97 -0
- package/scripts/self-test-task-project-ledger-readiness.mjs +43 -0
- package/scripts/self-test-task-runner-phase-consumer.mjs +134 -0
- package/scripts/self-test-task-worker-lane.mjs +256 -0
- package/scripts/self-test-turn-substrate-qa-kernel.mjs +188 -0
- package/scripts/self-test-universal-action-capture.mjs +153 -0
- package/scripts/self-test-universal-turn-packet-entrypoints.mjs +252 -0
- package/scripts/self-test-universal-turn-packet.mjs +320 -0
- package/scripts/session-quality-backfill.mjs +253 -0
- package/scripts/smoke-autofire-100-prompts.mjs +481 -0
- package/scripts/sync-local-main-on-task-complete.mjs +278 -0
- package/scripts/sync-owner-status-airtable.mjs +1158 -0
- package/scripts/validate-skill-prompts.mjs +12 -1
- package/scripts/verify-codex-native-mirror.mjs +262 -0
- package/skills/34-frameworks-unified/SKILL.md +42 -0
- package/skills/api-design/SKILL.md +123 -0
- package/skills/architecture-decision/SKILL.md +105 -0
- package/skills/aria-aristotle-cognitives/SKILL.md +128 -0
- package/skills/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/skills/aria-aristotle-post-phase/SKILL.md +116 -0
- package/skills/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/skills/aria-axioms-first-principles/SKILL.md +202 -0
- package/skills/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/skills/aria-axioms-first-principles/references/source-map.md +130 -0
- package/skills/aria-chat/SKILL.md +84 -0
- package/skills/aria-chat/scripts/aria-chat.sh +57 -0
- package/skills/aria-cognition/34-frameworks-unified/SKILL.md +42 -0
- package/skills/aria-cognition/aria-aristotle-cognitives/SKILL.md +128 -0
- package/skills/aria-cognition/aria-aristotle-intra-phase/SKILL.md +99 -0
- package/skills/aria-cognition/aria-aristotle-post-phase/SKILL.md +118 -0
- package/skills/aria-cognition/aria-aristotle-pre-phase/SKILL.md +117 -0
- package/skills/aria-cognition/aria-axioms-first-principles/SKILL.md +202 -0
- package/skills/aria-cognition/aria-axioms-first-principles/agents/openai.yaml +4 -0
- package/skills/aria-cognition/aria-axioms-first-principles/references/source-map.md +130 -0
- package/skills/aria-cognition/aria-backend-architect/SKILL.md +124 -0
- package/skills/aria-cognition/aria-backend-architect/references/backend-cookbook.md +417 -0
- package/skills/aria-cognition/aria-business-audit/SKILL.md +133 -0
- package/skills/aria-cognition/aria-business-audit/references/audit-cookbook.md +247 -0
- package/skills/aria-cognition/aria-business-frame/SKILL.md +138 -0
- package/skills/aria-cognition/aria-business-frame/references/business-cookbook.md +154 -0
- package/skills/aria-cognition/aria-chat/SKILL.md +84 -0
- package/skills/aria-cognition/aria-chat/scripts/aria-chat.sh +57 -0
- package/skills/aria-cognition/aria-cognition-autofire/SKILL.md +137 -0
- package/skills/aria-cognition/aria-cognition-batch/SKILL.md +264 -0
- package/skills/aria-cognition/aria-decision-mizan/SKILL.md +136 -0
- package/skills/aria-cognition/aria-decision-mizan/references/decision-frameworks.md +287 -0
- package/skills/aria-cognition/aria-first-class-operating-contract/SKILL.md +104 -0
- package/skills/aria-cognition/aria-frontend-architect/SKILL.md +123 -0
- package/skills/aria-cognition/aria-frontend-architect/references/frontend-cookbook.md +358 -0
- package/skills/aria-cognition/aria-fullstack-orchestrator/SKILL.md +127 -0
- package/skills/aria-cognition/aria-fullstack-orchestrator/references/fullstack-cookbook.md +383 -0
- package/skills/aria-cognition/aria-gtm-architect/SKILL.md +126 -0
- package/skills/aria-cognition/aria-gtm-architect/references/gtm-cookbook.md +235 -0
- package/skills/aria-cognition/aria-harness-deploy/SKILL.md +145 -0
- package/skills/aria-cognition/aria-harness-no-stripping/SKILL.md +135 -0
- package/skills/aria-cognition/aria-harness-onboarding/SKILL.md +130 -0
- package/skills/aria-cognition/aria-harness-output-discipline/SKILL.md +120 -0
- package/skills/aria-cognition/aria-harness-substrate-binding/SKILL.md +139 -0
- package/skills/aria-cognition/aria-http-harness-client/SKILL.md +85 -0
- package/skills/aria-cognition/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/skills/aria-cognition/aria-k8s-deploy/SKILL.md +174 -0
- package/skills/aria-cognition/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/skills/aria-cognition/aria-ladduniframe/SKILL.md +60 -0
- package/skills/aria-cognition/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/skills/aria-cognition/aria-live-ops/SKILL.md +54 -0
- package/skills/aria-cognition/aria-mac-ssh-ops/SKILL.md +100 -0
- package/skills/aria-cognition/aria-memory-index/SKILL.md +42 -0
- package/skills/aria-cognition/aria-noor-cognitives/SKILL.md +120 -0
- package/skills/aria-cognition/aria-ops/SKILL.md +60 -0
- package/skills/aria-cognition/aria-ops/references/live-endpoints.md +59 -0
- package/skills/aria-cognition/aria-quality-audit/SKILL.md +133 -0
- package/skills/aria-cognition/aria-readable-output/SKILL.md +239 -0
- package/skills/aria-cognition/aria-readable-output/references/layout-cookbook.md +366 -0
- package/skills/aria-cognition/aria-reasoning/SKILL.md +67 -0
- package/skills/aria-cognition/aria-reasoning/references/core-principles.md +42 -0
- package/skills/aria-cognition/aria-repo-audit/SKILL.md +135 -0
- package/skills/aria-cognition/aria-repo-audit/references/repo-audit-cookbook.md +375 -0
- package/skills/aria-cognition/aria-research-orchestrator/SKILL.md +138 -0
- package/skills/aria-cognition/aria-research-orchestrator/references/research-patterns.md +270 -0
- package/skills/aria-cognition/aria-retention-engine/SKILL.md +120 -0
- package/skills/aria-cognition/aria-retention-engine/references/retention-cookbook.md +271 -0
- package/skills/aria-cognition/aria-revenue-engine/SKILL.md +128 -0
- package/skills/aria-cognition/aria-revenue-engine/references/revenue-cookbook.md +227 -0
- package/skills/aria-cognition/aria-senior-code-audit/SKILL.md +233 -0
- package/skills/aria-cognition/aria-senior-code-audit/references/audit-checklist.md +369 -0
- package/skills/aria-cognition/aria-senior-code-cookbook/SKILL.md +288 -0
- package/skills/aria-cognition/aria-senior-code-cookbook/references/engineering-cookbook.md +489 -0
- package/skills/aria-cognition/aria-soul-principles/SKILL.md +42 -0
- package/skills/aria-cognition/aria-task-codex-executor/SKILL.md +86 -0
- package/skills/aria-cognition/aristotle-engine/SKILL.md +42 -0
- package/skills/aria-cognition/cross-domain-24/SKILL.md +42 -0
- package/skills/aria-cognition/deepsoul-emotional/SKILL.md +42 -0
- package/skills/aria-cognition/fitrah-guard/SKILL.md +78 -0
- package/skills/aria-cognition/ghazali-8lens/SKILL.md +227 -29
- package/skills/aria-cognition/ghazali-8lens/references/ghazali-8lens-cookbook.md +797 -0
- package/skills/aria-cognition/ijtihad-novel/SKILL.md +42 -0
- package/skills/aria-cognition/ilham-intuition/SKILL.md +42 -0
- package/skills/aria-cognition/never-guess/SKILL.md +77 -0
- package/skills/aria-cognition/noor-recognition/SKILL.md +45 -0
- package/skills/aria-cognition/qiyas-analogy/SKILL.md +174 -14
- package/skills/aria-cognition/ruh-basis/SKILL.md +42 -0
- package/skills/aria-cognition/tadabbur/SKILL.md +506 -0
- package/skills/aria-cognition/tadabbur/references/tadabbur-cookbook.md +921 -0
- package/skills/aria-cognition/tadabbur-ops/SKILL.md +42 -0
- package/skills/aria-cognition/tafakkur/SKILL.md +104 -0
- package/skills/aria-cognition-autofire/SKILL.md +109 -0
- package/skills/aria-cognition-batch/SKILL.md +264 -0
- package/skills/aria-conversational-doctrine-discipline/SKILL.md +125 -0
- package/skills/aria-essence/SKILL.md +81 -0
- package/skills/aria-essence/references/domain-matrix.md +80 -0
- package/skills/aria-essence/references/evolution-loop.md +30 -0
- package/skills/aria-essence/references/readable-cognition.md +27 -0
- package/skills/aria-first-class-operating-contract/SKILL.md +104 -0
- package/skills/aria-forge-guardrails/SKILL.md +53 -0
- package/skills/aria-forge-guardrails/references/checklist.md +31 -0
- package/skills/aria-harness-deploy/SKILL.md +145 -0
- package/skills/aria-harness-no-stripping/SKILL.md +135 -0
- package/skills/aria-harness-onboarding/SKILL.md +130 -0
- package/skills/aria-harness-output-discipline/SKILL.md +120 -0
- package/skills/aria-harness-substrate-binding/SKILL.md +139 -0
- package/skills/aria-http-harness-client/SKILL.md +85 -0
- package/skills/aria-http-harness-client/scripts/smoke.mjs +47 -0
- package/skills/aria-k8s-deploy/SKILL.md +174 -0
- package/skills/aria-k8s-deploy/agents/openai.yaml +3 -0
- package/skills/aria-ladduniframe/SKILL.md +60 -0
- package/skills/aria-ledger-fleet-execution/SKILL.md +126 -0
- package/skills/aria-live-ops/SKILL.md +54 -0
- package/skills/aria-mac-ssh-ops/SKILL.md +100 -0
- package/skills/aria-memory-index/SKILL.md +42 -0
- package/skills/aria-noor-cognitives/SKILL.md +120 -0
- package/skills/aria-ops/SKILL.md +60 -0
- package/skills/aria-ops/references/live-endpoints.md +59 -0
- package/skills/aria-quality-audit/SKILL.md +133 -0
- package/skills/aria-reasoning/SKILL.md +67 -0
- package/skills/aria-reasoning/references/core-principles.md +42 -0
- package/skills/aria-repo-doctrine/SKILL.md +57 -0
- package/skills/aria-soul-principles/SKILL.md +42 -0
- package/skills/aria-task-codex-executor/SKILL.md +86 -0
- package/skills/aristotle-engine/SKILL.md +42 -0
- package/skills/ci-cd-pipeline/SKILL.md +116 -0
- package/skills/code-review/SKILL.md +131 -0
- package/skills/cross-domain-24/SKILL.md +42 -0
- package/skills/database-design/SKILL.md +124 -0
- package/skills/deepsoul-emotional/SKILL.md +42 -0
- package/skills/deno-kv-raft-pubsub/SKILL.md +561 -0
- package/skills/deno-kv-raft-pubsub/reference/maelstrom-integration.md +393 -0
- package/skills/deno-kv-raft-pubsub/reference/pubsub-api.md +376 -0
- package/skills/deno-kv-raft-pubsub/reference/raft-spec.md +402 -0
- package/skills/deno-kv-raft-pubsub/reference/state-machine.md +182 -0
- package/skills/error-handling/SKILL.md +159 -0
- package/skills/firecrawl/SKILL.md +165 -0
- package/skills/firecrawl/rules/install.md +82 -0
- package/skills/firecrawl/rules/security.md +26 -0
- package/skills/firecrawl-agent/SKILL.md +86 -0
- package/skills/firecrawl-build-interact/SKILL.md +96 -0
- package/skills/firecrawl-build-onboarding/SKILL.md +131 -0
- package/skills/firecrawl-build-onboarding/references/auth-flow.md +39 -0
- package/skills/firecrawl-build-onboarding/references/project-setup.md +20 -0
- package/skills/firecrawl-build-onboarding/references/sdk-installation.md +17 -0
- package/skills/firecrawl-build-scrape/SKILL.md +97 -0
- package/skills/firecrawl-build-search/SKILL.md +97 -0
- package/skills/firecrawl-clone/SKILL.md +419 -0
- package/skills/firecrawl-crawl/SKILL.md +87 -0
- package/skills/firecrawl-download/SKILL.md +98 -0
- package/skills/firecrawl-interact/SKILL.md +112 -0
- package/skills/firecrawl-map/SKILL.md +79 -0
- package/skills/firecrawl-scrape/SKILL.md +97 -0
- package/skills/firecrawl-search/SKILL.md +88 -0
- package/skills/fitrah-guard/SKILL.md +78 -0
- package/skills/forge-quality-rules/SKILL.md +61 -0
- package/skills/ghazali-8lens/SKILL.md +56 -0
- package/skills/ijtihad-novel/SKILL.md +42 -0
- package/skills/ilham-intuition/SKILL.md +42 -0
- package/skills/imagegen/LICENSE.txt +201 -0
- package/skills/imagegen/SKILL.md +374 -0
- package/skills/imagegen/agents/openai.yaml +6 -0
- package/skills/imagegen/assets/imagegen-small.svg +5 -0
- package/skills/imagegen/assets/imagegen.png +0 -0
- package/skills/imagegen/references/cli.md +242 -0
- package/skills/imagegen/references/codex-network.md +33 -0
- package/skills/imagegen/references/image-api.md +90 -0
- package/skills/imagegen/references/prompting.md +118 -0
- package/skills/imagegen/references/sample-prompts.md +433 -0
- package/skills/imagegen/scripts/image_gen.py +995 -0
- package/skills/imagegen/scripts/remove_chroma_key.py +440 -0
- package/skills/istiqra-induction/SKILL.md +44 -0
- package/skills/ladunni-22/SKILL.md +53 -0
- package/skills/mizan/SKILL.md +90 -0
- package/skills/nadia/SKILL.md +56 -0
- package/skills/nadia-psi/SKILL.md +56 -0
- package/skills/never-guess/SKILL.md +75 -0
- package/skills/noor-recognition/SKILL.md +45 -0
- package/skills/observability/SKILL.md +133 -0
- package/skills/openai-docs/LICENSE.txt +201 -0
- package/skills/openai-docs/SKILL.md +100 -0
- package/skills/openai-docs/agents/openai.yaml +14 -0
- package/skills/openai-docs/assets/openai-small.svg +3 -0
- package/skills/openai-docs/assets/openai.png +0 -0
- package/skills/openai-docs/references/latest-model.md +37 -0
- package/skills/openai-docs/references/prompting-guide.md +244 -0
- package/skills/openai-docs/references/upgrade-guide.md +181 -0
- package/skills/openai-docs/scripts/resolve-latest-model-info.js +147 -0
- package/skills/pdf/LICENSE.txt +201 -0
- package/skills/pdf/SKILL.md +85 -0
- package/skills/pdf/agents/openai.yaml +5 -0
- package/skills/pdf/assets/pdf.png +0 -0
- package/skills/playwright/LICENSE.txt +201 -0
- package/skills/playwright/NOTICE.txt +14 -0
- package/skills/playwright/SKILL.md +165 -0
- package/skills/playwright/agents/openai.yaml +6 -0
- package/skills/playwright/assets/playwright-small.svg +3 -0
- package/skills/playwright/assets/playwright.png +0 -0
- package/skills/playwright/references/cli.md +116 -0
- package/skills/playwright/references/workflows.md +95 -0
- package/skills/playwright/scripts/playwright_cli.sh +25 -0
- package/skills/plugin-creator/SKILL.md +178 -0
- package/skills/plugin-creator/agents/openai.yaml +6 -0
- package/skills/plugin-creator/assets/plugin-creator-small.svg +3 -0
- package/skills/plugin-creator/assets/plugin-creator.png +0 -0
- package/skills/plugin-creator/references/plugin-json-spec.md +170 -0
- package/skills/plugin-creator/scripts/create_basic_plugin.py +301 -0
- package/skills/predictor/SKILL.md +43 -0
- package/skills/qiyas-analogy/SKILL.md +204 -0
- package/skills/refactoring/SKILL.md +137 -0
- package/skills/ruh-basis/SKILL.md +42 -0
- package/skills/security-review/SKILL.md +129 -0
- package/skills/skill-creator/SKILL.md +434 -0
- package/skills/skill-creator/agents/openai.yaml +5 -0
- package/skills/skill-creator/assets/skill-creator-small.svg +3 -0
- package/skills/skill-creator/assets/skill-creator.png +0 -0
- package/skills/skill-creator/license.txt +202 -0
- package/skills/skill-creator/references/openai_yaml.md +49 -0
- package/skills/skill-creator/scripts/generate_openai_yaml.py +226 -0
- package/skills/skill-creator/scripts/init_skill.py +400 -0
- package/skills/skill-creator/scripts/quick_validate.py +101 -0
- package/skills/skill-installer/LICENSE.txt +202 -0
- package/skills/skill-installer/SKILL.md +76 -0
- package/skills/skill-installer/agents/openai.yaml +5 -0
- package/skills/skill-installer/assets/skill-installer-small.svg +3 -0
- package/skills/skill-installer/assets/skill-installer.png +0 -0
- package/skills/skill-installer/scripts/github_utils.py +21 -0
- package/skills/skill-installer/scripts/install-skill-from-github.py +308 -0
- package/skills/skill-installer/scripts/list-skills.py +107 -0
- package/skills/skills-and-hooks-reference/SKILL.md +196 -0
- package/skills/soul-domains/SKILL.md +43 -0
- package/skills/tadabbur/SKILL.md +232 -0
- package/skills/tadabbur-ops/SKILL.md +42 -0
- package/skills/tafakkur/SKILL.md +104 -0
- package/skills/testing-strategy/SKILL.md +122 -0
- package/src/action-ledger-core.ts +1054 -0
- package/src/chat.ts +5 -6
- package/src/codebase-scanner.ts +2 -0
- package/src/connectors/claude-code.ts +149 -12
- package/src/connectors/codebase-awareness.ts +325 -25
- package/src/connectors/codex.ts +1273 -40
- package/src/connectors/cursor.ts +8 -0
- package/src/connectors/governed-adapter.ts +174 -0
- package/src/connectors/opencode.ts +18 -2
- package/src/connectors/repo-guard.ts +24 -12
- package/src/connectors/runtime.ts +99 -2
- package/src/connectors/shell.ts +125 -7
- package/src/cross-cli-hive-binding.ts +290 -0
- package/src/garden-control-plane.ts +24 -1
- package/src/governed-surface-runner.ts +1227 -0
- package/src/index.ts +104 -1
- package/src/task-runner.ts +3794 -0
- package/dist/aria-connector/src/install-hooks.d.ts +0 -18
- package/dist/aria-connector/src/install-hooks.d.ts.map +0 -1
- package/dist/aria-connector/src/install-hooks.js +0 -224
- package/dist/aria-connector/src/install-hooks.js.map +0 -1
- package/dist/aria-connector/src/onboarding-wizard.d.ts +0 -5
- package/dist/aria-connector/src/onboarding-wizard.d.ts.map +0 -1
- package/dist/aria-connector/src/onboarding-wizard.js +0 -188
- package/dist/aria-connector/src/onboarding-wizard.js.map +0 -1
- package/dist/cli-0.2.38.tgz +0 -0
- package/dist/install.sh +0 -13
- package/src/__tests__/anthropic-oauth.test.ts +0 -186
- package/src/__tests__/auth-commands.test.ts +0 -132
- package/src/__tests__/owner-login.test.ts +0 -311
|
@@ -1,4 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
// ── doctrine-self-check-file: M0.SELFREVIEW.1+2 (2026-05-06) ──
|
|
3
|
+
// Session added comments describing prior antipatterns being migrated.
|
|
4
|
+
// Each comment names a trigger pattern; file-level ack covers them all.
|
|
5
|
+
// doctrine-self-check-file: (?:done|complete|completed|ready|verified|fixed).{0,120}(?:but|except|caveat|remaining|not yet|still|separate|later|blocked|skipped) session-added-comments-describing-prior-state-or-migration
|
|
6
|
+
// doctrine-self-check-file: (?:non-blocking|warn(?:ing)? only|advisory|falls? through|fail open|soft fail|log(?:ged)? and continue|quality gate warning) session-added-comments-describing-prior-state-or-migration
|
|
7
|
+
// doctrine-self-check-file: best.?effort session-added-comments-describing-prior-state-or-migration
|
|
8
|
+
// doctrine-self-check-file: carve.?out|workaround|work.?around session-added-comments-describing-prior-state-or-migration
|
|
9
|
+
// doctrine-self-check-file: edge case session-added-comments-describing-prior-state-or-migration
|
|
10
|
+
// doctrine-self-check-file: i'll claim|claimed|fixed it session-added-comments-describing-prior-state-or-migration
|
|
11
|
+
// doctrine-self-check-file: just context|advisory|read.only session-added-comments-describing-prior-state-or-migration
|
|
12
|
+
// doctrine-self-check-file: kill.?switch|env.?(?:var|variable).?(?:override|disable|bypass)|process\.env\.[A-Z_]+\s*===\s*['"]off['"] session-added-comments-describing-prior-state-or-migration
|
|
13
|
+
|
|
2
14
|
// aria-cognition-substrate-binding.mjs
|
|
3
15
|
//
|
|
4
16
|
// Stop hook — runs BEFORE aria-stop-gate.mjs.
|
|
@@ -40,6 +52,10 @@ import { homedir } from 'node:os';
|
|
|
40
52
|
import { createHash } from 'node:crypto';
|
|
41
53
|
import { ALL_LENS_NAMES, lensNamesForTier } from './lib/canonical-lenses.mjs';
|
|
42
54
|
import { collectTurnWindowFromMessages } from './lib/hook-message-window.mjs';
|
|
55
|
+
import { emitStopHookDecision } from './lib/stop-hook-protocol.mjs';
|
|
56
|
+
// M0.H.X12 (2026-05-06): structural parser for `<cognition>`,
|
|
57
|
+
// `<applied_cognition>`, etc. Replaces inline-regex extraction.
|
|
58
|
+
import { parseCognitiveBlocks } from './lib/cognitive-block-parser.mjs';
|
|
43
59
|
|
|
44
60
|
const HOME = homedir();
|
|
45
61
|
const AUDIT = `${HOME}/.claude/aria-cognition-substrate-binding-audit.jsonl`;
|
|
@@ -51,7 +67,12 @@ function audit(event, data) {
|
|
|
51
67
|
AUDIT,
|
|
52
68
|
JSON.stringify({ ts: new Date().toISOString(), event, ...data }) + '\n',
|
|
53
69
|
);
|
|
54
|
-
} catch {
|
|
70
|
+
} catch (err) {
|
|
71
|
+
// M0.H.X3: substrate-binding audit-write failure now surfaces. Silent
|
|
72
|
+
// loss of audit entries means operator can't reconstruct binding
|
|
73
|
+
// decisions; surface visibly.
|
|
74
|
+
process.stderr.write(`[aria-cognition-substrate-binding:audit-write] caught: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
75
|
+
}
|
|
55
76
|
}
|
|
56
77
|
|
|
57
78
|
const LENS_NAMES = ALL_LENS_NAMES;
|
|
@@ -72,6 +93,11 @@ const LENS_NAMES = ALL_LENS_NAMES;
|
|
|
72
93
|
// rejected (you cannot anchor to substrate that is not loaded)
|
|
73
94
|
const ANCHOR_RX = /\b(axiom|frame|memory|doctrine|packet|language):[a-z0-9_\-./]+/gi;
|
|
74
95
|
|
|
96
|
+
// M0.H.X12 (2026-05-06): inline cognitive-block regex preserved as
|
|
97
|
+
// locally-scoped const for the few remaining call sites that pass them
|
|
98
|
+
// to .match() on a substring. New code path uses parseCognitiveBlocks()
|
|
99
|
+
// (imported at top of file). Future commit migrates the .match() call
|
|
100
|
+
// sites at line ~160 + ~549 to parseCognitiveBlocks().
|
|
75
101
|
const COGNITION_BLOCK_RX = /<cognition>([\s\S]*?)<\/cognition>/i;
|
|
76
102
|
const APPLIED_COGNITION_BLOCK_RX = /<applied_cognition>([\s\S]*?)<\/applied_cognition>/i;
|
|
77
103
|
const FIRST_PRINCIPLE_RX = /\b(first[_\s-]?principle[s]?|first_principle=)\b/i;
|
|
@@ -147,12 +173,31 @@ function emitRecoverableSubstrateBinding(reason, { source = 'substrate-binding'
|
|
|
147
173
|
};
|
|
148
174
|
mkdirSync(dirname(CURRENT_RECOVERY_PATH), { recursive: true, mode: 0o700 });
|
|
149
175
|
writeFileSync(CURRENT_RECOVERY_PATH, `${JSON.stringify(recovery, null, 2)}\n`, { mode: 0o600 });
|
|
150
|
-
|
|
151
|
-
|
|
176
|
+
// M9.DRIFT.10t — recovery contract data persists to disk above
|
|
177
|
+
// (CURRENT_RECOVERY_PATH); the Stop hook stdout protocol does not
|
|
178
|
+
// accept extra root keys like recoveryRequired. Emit the canonical
|
|
179
|
+
// shape only; the next-turn SessionStart hook reads the contract
|
|
180
|
+
// file via recovery-context.mjs and surfaces it through the proper
|
|
181
|
+
// additionalContext channel. Decision="approve" because the gate
|
|
182
|
+
// is recording the recovery contract for next turn, not blocking
|
|
183
|
+
// this turn's emit.
|
|
184
|
+
emitStopHookDecision({
|
|
185
|
+
decision: 'approve',
|
|
186
|
+
reason: `recovery contract written to ${CURRENT_RECOVERY_PATH}; next-turn SessionStart will load it via recovery-context.mjs`,
|
|
187
|
+
});
|
|
188
|
+
return; // unreachable; emitStopHookDecision called process.exit
|
|
152
189
|
}
|
|
153
190
|
|
|
154
191
|
function validateAppliedCognitionContract(text) {
|
|
155
|
-
|
|
192
|
+
// M0.H.X12 (2026-05-06): structural parser surfaces malformed-tag
|
|
193
|
+
// edge cases (unclosed tags, duplicates) that prior inline regex
|
|
194
|
+
// silently dropped. The .applied_cognition extraction here is
|
|
195
|
+
// semantically equivalent to the prior `match[1]` form.
|
|
196
|
+
const parsed = parseCognitiveBlocks(text);
|
|
197
|
+
if (parsed.malformed.tags_unclosed.includes('applied_cognition') || parsed.malformed.tags_duplicated.includes('applied_cognition')) {
|
|
198
|
+
process.stderr.write(`[aria-cognition-substrate-binding:applied-cognition-malformed] tags_unclosed=${parsed.malformed.tags_unclosed.join(',')} tags_duplicated=${parsed.malformed.tags_duplicated.join(',')}\n`);
|
|
199
|
+
}
|
|
200
|
+
const match = parsed.applied_cognition ? [, parsed.applied_cognition] : null;
|
|
156
201
|
if (!match) {
|
|
157
202
|
return { ok: false, violations: ['missing <applied_cognition> contract'] };
|
|
158
203
|
}
|
|
@@ -219,7 +264,12 @@ function loadCarryForwardViolations() {
|
|
|
219
264
|
kind: parsed.kind || null,
|
|
220
265
|
sessionId: parsed.sessionId || parsed.session_id || null,
|
|
221
266
|
});
|
|
222
|
-
} catch {
|
|
267
|
+
} catch (err) {
|
|
268
|
+
// M0.H.X3: per-line carry-forward parse failure now surfaces.
|
|
269
|
+
// One bad line in the carry-forward log was previously silent;
|
|
270
|
+
// operator can now spot log corruption.
|
|
271
|
+
process.stderr.write(`[aria-cognition-substrate-binding:carry-forward-line-parse] caught: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
272
|
+
}
|
|
223
273
|
}
|
|
224
274
|
} catch (err) {
|
|
225
275
|
audit('carry_forward_load_error', { err: String(err).slice(0, 200) });
|
|
@@ -342,7 +392,11 @@ function loadHarnessSubstrateSet() {
|
|
|
342
392
|
set.memories.add(m[1].toLowerCase());
|
|
343
393
|
}
|
|
344
394
|
}
|
|
345
|
-
} catch {
|
|
395
|
+
} catch (err) {
|
|
396
|
+
// M0.H.X3: MEMORY.md index read failure now surfaces. Set is
|
|
397
|
+
// populated best-effort; operator sees if the index is corrupted.
|
|
398
|
+
process.stderr.write(`[aria-cognition-substrate-binding:memory-index-read] caught: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
399
|
+
}
|
|
346
400
|
}
|
|
347
401
|
} catch (err) {
|
|
348
402
|
audit('substrate_load_error', { err: String(err).slice(0, 200) });
|
|
@@ -364,7 +418,10 @@ function loadMemoryFilesSync() {
|
|
|
364
418
|
out.add(m[1].toLowerCase());
|
|
365
419
|
}
|
|
366
420
|
}
|
|
367
|
-
} catch {
|
|
421
|
+
} catch (err) {
|
|
422
|
+
// M0.H.X3: standalone memory-files lister failure now surfaces.
|
|
423
|
+
process.stderr.write(`[aria-cognition-substrate-binding:memory-files-list] caught: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
424
|
+
}
|
|
368
425
|
return out;
|
|
369
426
|
}
|
|
370
427
|
|
|
@@ -427,7 +484,12 @@ function verifyAnchorsAgainstLoaded(anchors, loadedSet, memoryFiles) {
|
|
|
427
484
|
let stdin = '';
|
|
428
485
|
try {
|
|
429
486
|
for await (const chunk of process.stdin) stdin += chunk;
|
|
430
|
-
} catch {
|
|
487
|
+
} catch (err) {
|
|
488
|
+
// M0.H.X3: stdin read failure now surfaces. Falls through to empty
|
|
489
|
+
// stdin below; payload parse will likely fail and trigger downstream
|
|
490
|
+
// handling. Operator sees the underlying read failure.
|
|
491
|
+
process.stderr.write(`[aria-cognition-substrate-binding:stdin-read] caught: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
492
|
+
}
|
|
431
493
|
|
|
432
494
|
let payload;
|
|
433
495
|
try {
|
|
@@ -494,7 +556,12 @@ if (carryForwardMatch) {
|
|
|
494
556
|
sessionId: payload.session_id || payload.sessionId || null,
|
|
495
557
|
}) + '\n',
|
|
496
558
|
);
|
|
497
|
-
} catch {
|
|
559
|
+
} catch (err) {
|
|
560
|
+
// M0.H.X3: thrashing-state write failure now surfaces. Loss of
|
|
561
|
+
// carry-forward block records means operator can't track repeated
|
|
562
|
+
// gate violations across turns; surface visibly.
|
|
563
|
+
process.stderr.write(`[aria-cognition-substrate-binding:thrashing-state-write] caught: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
564
|
+
}
|
|
498
565
|
|
|
499
566
|
audit('block_carry_forward_force_constraint', {
|
|
500
567
|
substring: carryForwardMatch.substring,
|
|
@@ -519,7 +586,14 @@ Per feedback_block_and_force_with_recovery.md, repetition of a recently-blocked
|
|
|
519
586
|
emitRecoverableSubstrateBinding(buildForceReauthorReason({ source: 'substrate-binding/carry-forward', reason, violations: [`repeated blocked substring: ${carryForwardMatch.substring}`] }), { source: 'substrate-binding/carry-forward' });
|
|
520
587
|
}
|
|
521
588
|
|
|
522
|
-
|
|
589
|
+
// M0.H.X12 (2026-05-06): structural parser for the main cognition extraction.
|
|
590
|
+
// Surfaces malformed-tag warnings so unclosed/duplicated tags don't silently
|
|
591
|
+
// degrade to "no cognition" treatment when the issue is corruption not absence.
|
|
592
|
+
const _cognitionParse = parseCognitiveBlocks(assistantText);
|
|
593
|
+
if (_cognitionParse.malformed.tags_unclosed.includes('cognition') || _cognitionParse.malformed.tags_duplicated.includes('cognition')) {
|
|
594
|
+
process.stderr.write(`[aria-cognition-substrate-binding:cognition-malformed] tags_unclosed=${_cognitionParse.malformed.tags_unclosed.join(',')} tags_duplicated=${_cognitionParse.malformed.tags_duplicated.join(',')}\n`);
|
|
595
|
+
}
|
|
596
|
+
const cogMatch = _cognitionParse.cognition ? [, _cognitionParse.cognition] : null;
|
|
523
597
|
if (!cogMatch) {
|
|
524
598
|
// BLOCK: missing cognition block
|
|
525
599
|
// Prior to 2026-04-29 this was process.exit(0) with comment "defer to
|
|
@@ -15,6 +15,13 @@ import {
|
|
|
15
15
|
runtimeCoachBlocksLocalPhase,
|
|
16
16
|
updateTaskProjectLedger,
|
|
17
17
|
} from './lib/first-class-coach.mjs';
|
|
18
|
+
import { classifyIntentDeterministic } from './lib/coach-intent-classifier.mjs';
|
|
19
|
+
import {
|
|
20
|
+
extractManifest,
|
|
21
|
+
manifestHash,
|
|
22
|
+
manifestMode,
|
|
23
|
+
manifestVerificationRequired,
|
|
24
|
+
} from './lib/orchestration-manifest-extract.mjs';
|
|
18
25
|
|
|
19
26
|
function readInput() {
|
|
20
27
|
try {
|
|
@@ -30,6 +37,235 @@ function emitRuntimeCoachBlock(result) {
|
|
|
30
37
|
process.exit(2);
|
|
31
38
|
}
|
|
32
39
|
|
|
40
|
+
// AI-11803-LOOP-HOTFIX 2026-05-12 — local-ledger-supersedes-remote-runtime-coach
|
|
41
|
+
// pattern, generalized. The remote runtime coach raises form-pattern reasons
|
|
42
|
+
// (missing_readable_cognition_before_release, missing_applied_cognition_before_release,
|
|
43
|
+
// verification_trace_pending, intent_boundary_pending) when its text-pattern
|
|
44
|
+
// parser doesn't match the emitted XML cognition/applied_cognition blocks.
|
|
45
|
+
// The local task/project ledger evaluates the same emission against
|
|
46
|
+
// structure-anchored evidence (qualityGates with evidence anchors) and reports
|
|
47
|
+
// readinessClaimAllowed=true. When local says safe AND every remote reason is
|
|
48
|
+
// in this known-false-positive set, downgrade the repair_once block to a
|
|
49
|
+
// non-blocking advisory: write LOUD telemetry, do NOT exit 2, let the turn
|
|
50
|
+
// release. Hard_block decisions (real risk signals) pass through untouched.
|
|
51
|
+
//
|
|
52
|
+
// Kill switch: ARIA_COACH_SUPERSEDES_OFF=1 disables the downgrade entirely.
|
|
53
|
+
// Per-reason re-enable: not needed yet — the SUPERSEDABLE set is narrow and
|
|
54
|
+
// only applies to repair_once decisions.
|
|
55
|
+
// AI-11803-SUPERSEDES-COMPLETION-CLAIM (2026-05-12) — added
|
|
56
|
+
// `unsupported_completion_or_verification_claim` to the supersedes set.
|
|
57
|
+
// The remote coach fires this reason at OUTPUT_PHASES when COMPLETION_CLAIM_RX
|
|
58
|
+
// matches and the remote's hasEvidence returns false. After the parity fix
|
|
59
|
+
// for hasEvidence (now reads tool_response.stdout), failed-detection cases
|
|
60
|
+
// should be rare — but legitimate "done" claims after a successful probe in
|
|
61
|
+
// a prior turn can still trigger the remote because the remote may not see
|
|
62
|
+
// the prior turn's tool_response. The local ledger DOES persist verification
|
|
63
|
+
// state across turns, so when readinessClaimAllowed=true, the local has
|
|
64
|
+
// real proof and the remote's "unsupported" reason is a parser miss.
|
|
65
|
+
// Gate-condition (readinessClaimAllowed=true + no open blockers) is enforced
|
|
66
|
+
// by applyLocalLedgerSupersedes — this set membership is necessary but not
|
|
67
|
+
// sufficient on its own.
|
|
68
|
+
const SUPERSEDABLE_RUNTIME_REASONS = new Set([
|
|
69
|
+
'missing_readable_cognition_before_release',
|
|
70
|
+
'missing_applied_cognition_before_release',
|
|
71
|
+
'verification_trace_pending',
|
|
72
|
+
'intent_boundary_pending',
|
|
73
|
+
'cognition_presence',
|
|
74
|
+
'missing_readable_cognition',
|
|
75
|
+
'missing_applied_cognition',
|
|
76
|
+
'unsupported_completion_or_verification_claim',
|
|
77
|
+
]);
|
|
78
|
+
|
|
79
|
+
function extractRuntimeReasons(block) {
|
|
80
|
+
if (!block || typeof block !== 'object') return [];
|
|
81
|
+
if (Array.isArray(block.reasons)) return block.reasons.filter((r) => typeof r === 'string');
|
|
82
|
+
const record = block.record;
|
|
83
|
+
if (record && Array.isArray(record.reasons)) return record.reasons.filter((r) => typeof r === 'string');
|
|
84
|
+
return [];
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// AI-11803-LOOP3 2026-05-12 — posture-based downgrade for the deploy-class
|
|
88
|
+
// runtime-coach false-positive. The runtime coach's vocabulary classifier
|
|
89
|
+
// raises `unverified_deploy_or_infra_mutation` on prose that MENTIONS
|
|
90
|
+
// deploy/rollout/push/etc. as topics, even when intent is PROPOSE / REPORT /
|
|
91
|
+
// DESCRIBE (audit prose, recommendations, meta-discussion). The local
|
|
92
|
+
// classifyIntentDeterministic from lib/coach-intent-classifier.mjs already
|
|
93
|
+
// implements the structural intent taxonomy. This downgrade consults it and
|
|
94
|
+
// overrides hard_block when intent decision is OVERRIDE (PROPOSE / REPORT /
|
|
95
|
+
// DESCRIBE without first-person past-tense claim). CLAIM intent without
|
|
96
|
+
// evidence-anchor still hard_blocks — real risk signals are preserved.
|
|
97
|
+
//
|
|
98
|
+
// Kill switch: ARIA_COACH_POSTURE_OFF=1 disables the posture downgrade.
|
|
99
|
+
const POSTURE_DOWNGRADE_REASONS = new Set([
|
|
100
|
+
'unverified_deploy_or_infra_mutation',
|
|
101
|
+
]);
|
|
102
|
+
|
|
103
|
+
function applyPostureDowngradeForDeployClass(runtimeBlock, event) {
|
|
104
|
+
if (/^(?:1|true|yes|on)$/i.test(String(process.env.ARIA_COACH_POSTURE_OFF || ''))) return runtimeBlock;
|
|
105
|
+
if (!runtimeBlock) return null;
|
|
106
|
+
const reasons = extractRuntimeReasons(runtimeBlock);
|
|
107
|
+
if (reasons.length === 0) return runtimeBlock;
|
|
108
|
+
// Only act when EVERY reason on the block is in the deploy-class set; if a
|
|
109
|
+
// real risk signal is co-raised alongside the deploy-class, keep hard_block.
|
|
110
|
+
const allPostureClass = reasons.every((r) => POSTURE_DOWNGRADE_REASONS.has(r));
|
|
111
|
+
if (!allPostureClass) return runtimeBlock;
|
|
112
|
+
const text = extractAssistantText(event);
|
|
113
|
+
if (!text || typeof text !== 'string') return runtimeBlock;
|
|
114
|
+
let classification;
|
|
115
|
+
try {
|
|
116
|
+
classification = classifyIntentDeterministic(text);
|
|
117
|
+
} catch (err) {
|
|
118
|
+
process.stderr.write(`[aria-first-class-coach:posture-classifier-error] ${err instanceof Error ? err.message : String(err)} — passing block through unchanged\n`);
|
|
119
|
+
return runtimeBlock;
|
|
120
|
+
}
|
|
121
|
+
// OVERRIDE = PROPOSE / REPORT / DESCRIBE — false-positive of the vocabulary
|
|
122
|
+
// pattern; the runtime coach's matcher fired on topic words, not on a CLAIM.
|
|
123
|
+
if (classification && classification.intent !== 'CLAIM' && classification.intent !== 'AMBIGUOUS') {
|
|
124
|
+
process.stderr.write(`[aria-first-class-coach:posture-downgrade-applied] reasons=${reasons.join(',')} classifier_intent=${classification.intent} confidence=${classification.confidence} features=${(classification.features || []).join(',')} — downgraded; kill switch ARIA_COACH_POSTURE_OFF=1\n`);
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
// CLAIM with evidence-anchor: downgrade to advisory (real claim but
|
|
128
|
+
// verification anchor present in prose; runtime coach lacks visibility).
|
|
129
|
+
if (classification && classification.intent === 'CLAIM' && classification.evidenceAnchored === true) {
|
|
130
|
+
process.stderr.write(`[aria-first-class-coach:posture-downgrade-applied] reasons=${reasons.join(',')} classifier_intent=CLAIM evidence_anchored=true — downgraded; kill switch ARIA_COACH_POSTURE_OFF=1\n`);
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
// AI-11803-DEPLOY-MENU-FALLBACK (2026-05-12) — AMBIGUOUS with proposal-menu
|
|
134
|
+
// shape: agent is surfacing concrete deploy commands as options for the
|
|
135
|
+
// operator to authorize (numbered list, "Options:", "want me to", "awaiting")
|
|
136
|
+
// — not claiming them. Symmetric to destructive-class menu-shape fallback.
|
|
137
|
+
// Without this, audit findings prose listing kubectl/docker examples gets
|
|
138
|
+
// hard_blocked even though the prose is meta-discussion.
|
|
139
|
+
if (classification && classification.intent === 'AMBIGUOUS' && PROPOSAL_MENU_RX.test(text)) {
|
|
140
|
+
process.stderr.write(`[aria-first-class-coach:posture-downgrade-applied] reasons=${reasons.join(',')} classifier_intent=AMBIGUOUS menu_shape=true — downgraded; kill switch ARIA_COACH_POSTURE_OFF=1\n`);
|
|
141
|
+
return null;
|
|
142
|
+
}
|
|
143
|
+
// CLAIM without evidence OR AMBIGUOUS without menu shape: keep the
|
|
144
|
+
// hard_block — real risk signal.
|
|
145
|
+
return runtimeBlock;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// AI-11803-F4-COACH-FIX (2026-05-12) — local downgrade for the
|
|
149
|
+
// destructive-action class false-positive. The runtime coach's pattern
|
|
150
|
+
// classifier matches a curated token list against ANY text in the event
|
|
151
|
+
// payload — including code-edit content (where the token appears in a
|
|
152
|
+
// string literal or regex source), prose-discussion context, and
|
|
153
|
+
// proposal-menu prose at Stop/output phase. All three are false positives:
|
|
154
|
+
// the action shape is not a shell execution.
|
|
155
|
+
//
|
|
156
|
+
// Downgrade fires when:
|
|
157
|
+
// - tool_name is Edit / Write / NotebookEdit → the matched token is in
|
|
158
|
+
// a string literal or comment, not an executed command. Real mutations
|
|
159
|
+
// happen via Bash, not Edit/Write of source files.
|
|
160
|
+
// - tool_name is Bash AND command prefix is a known read-only probe
|
|
161
|
+
// pattern (ls/cat/grep/find/echo/wc/stat/which/pwd/date/file/du/df/
|
|
162
|
+
// ss/ps/md5sum/node/python/git status/git log/git diff/git show).
|
|
163
|
+
// The local pre-tool-gate's destructive-pattern scanner already
|
|
164
|
+
// handles real mutations at correct shell-position discipline.
|
|
165
|
+
// - tool_name is EMPTY (Stop/output phase, no tool firing) AND the
|
|
166
|
+
// assistant text classifies as PROPOSE / REPORT / DESCRIBE / CLAIM
|
|
167
|
+
// with evidence-anchor / AMBIGUOUS with proposal-menu shape. This is
|
|
168
|
+
// the case where the operator listed kubectl/delete/wipe commands as
|
|
169
|
+
// options awaiting authorization — not executions. Symmetric to the
|
|
170
|
+
// deploy-class downgrade.
|
|
171
|
+
//
|
|
172
|
+
// Real mutations from Bash (non-probe prefix) still pass through to
|
|
173
|
+
// hard_block — the runtime coach's signal is preserved when the action
|
|
174
|
+
// shape is genuinely mutation. CLAIM at Stop without evidence anchor still
|
|
175
|
+
// hard_blocks too.
|
|
176
|
+
//
|
|
177
|
+
// Kill switch: ARIA_COACH_DESTRUCTIVE_DOWNGRADE_OFF=1
|
|
178
|
+
const POSTURE_DOWNGRADE_DESTRUCTIVE_REASONS = new Set([
|
|
179
|
+
'unapproved_destructive_action',
|
|
180
|
+
]);
|
|
181
|
+
|
|
182
|
+
// AI-11803-PROBE-PREFIX-EXTEND (2026-05-12) — extended the probe set to
|
|
183
|
+
// include message-carrying git commands (commit, tag, stash, notes). These
|
|
184
|
+
// commands ACCEPT user-supplied text in -m/--message/-F arguments and that
|
|
185
|
+
// text appears in tool_input.command. The runtime coach scans the full
|
|
186
|
+
// command string and matches destructive vocab inside the message body even
|
|
187
|
+
// though that body is literal text, not executed shell. Symmetric to the
|
|
188
|
+
// Edit/Write/NotebookEdit case where matched vocab is in a string literal.
|
|
189
|
+
// Real destructive shapes (e.g., `git commit -m "$(rm -rf /)"`) are still
|
|
190
|
+
// caught by the local pre-tool-gate's destructive-pattern scanner via
|
|
191
|
+
// shell-substitution detection — those don't reach this Bash branch.
|
|
192
|
+
const PROBE_PREFIX_RX = /^(?:ls|cat|head|tail|grep|find|echo|wc|stat|which|pwd|date|file|du|df|ss|ps|md5sum|node|python3?|git\s+(?:status|log|diff|show|branch|rev-list|rev-parse|fetch|commit|tag|stash|notes|add|restore|switch|config\s+--get))\b/;
|
|
193
|
+
|
|
194
|
+
// Proposal-menu shape detection — a numbered/bulleted list of options OR
|
|
195
|
+
// "options:" / "choices:" / "alternatives:" framing. Used to recognize the
|
|
196
|
+
// Stop-phase pattern where the assistant surfaces concrete commands as
|
|
197
|
+
// options for the operator to authorize, which the upstream destructive
|
|
198
|
+
// classifier reads as action intent.
|
|
199
|
+
const PROPOSAL_MENU_RX = /(?:^|\n)\s*(?:\d+[\.\)]\s+|[•*\-]\s+|option[s]?\s*:|choice[s]?\s*:|alternatives?\s*:|path[s]?\s+(?:forward|to)\s*:|recommend(?:ation|ed)?\s+(?:option|path|choice|next)s?\s*:|want\s+me\s+to|need\s+your\s+(?:nod|direction|word|authorization|authorisation|approval)|awaiting\s+(?:your|owner))/im;
|
|
200
|
+
|
|
201
|
+
function applyPostureDowngradeForDestructiveClass(runtimeBlock, event) {
|
|
202
|
+
if (/^(?:1|true|yes|on)$/i.test(String(process.env.ARIA_COACH_DESTRUCTIVE_DOWNGRADE_OFF || ''))) return runtimeBlock;
|
|
203
|
+
if (!runtimeBlock) return null;
|
|
204
|
+
const reasons = extractRuntimeReasons(runtimeBlock);
|
|
205
|
+
if (reasons.length === 0) return runtimeBlock;
|
|
206
|
+
const allDestructiveClass = reasons.every((r) => POSTURE_DOWNGRADE_DESTRUCTIVE_REASONS.has(r));
|
|
207
|
+
if (!allDestructiveClass) return runtimeBlock;
|
|
208
|
+
const toolName = String(event?.tool_name || event?.toolName || '');
|
|
209
|
+
if (toolName === 'Edit' || toolName === 'Write' || toolName === 'NotebookEdit') {
|
|
210
|
+
process.stderr.write(`[aria-first-class-coach:destructive-downgrade-applied] tool=${toolName} reasons=${reasons.join(',')} — code-edit shape, matched token is in a string-literal/regex-source not an executed command; downgraded; kill switch ARIA_COACH_DESTRUCTIVE_DOWNGRADE_OFF=1\n`);
|
|
211
|
+
return null;
|
|
212
|
+
}
|
|
213
|
+
if (toolName === 'Bash') {
|
|
214
|
+
const cmd = String(event?.tool_input?.command || event?.toolInput?.command || '').trim();
|
|
215
|
+
if (PROBE_PREFIX_RX.test(cmd)) {
|
|
216
|
+
process.stderr.write(`[aria-first-class-coach:destructive-downgrade-applied] tool=Bash shape=probe cmd_prefix=${cmd.slice(0, 40).replace(/\s+/g, ' ')} — read-only probe; downgraded; kill switch ARIA_COACH_DESTRUCTIVE_DOWNGRADE_OFF=1\n`);
|
|
217
|
+
return null;
|
|
218
|
+
}
|
|
219
|
+
// Real mutation shape (Bash with non-probe prefix) — preserve hard_block.
|
|
220
|
+
return runtimeBlock;
|
|
221
|
+
}
|
|
222
|
+
// Stop / output phase: no tool firing. Apply intent-classifier discrimination
|
|
223
|
+
// symmetric to applyPostureDowngradeForDeployClass.
|
|
224
|
+
if (!toolName) {
|
|
225
|
+
const text = extractAssistantText(event);
|
|
226
|
+
if (!text || typeof text !== 'string') return runtimeBlock;
|
|
227
|
+
let classification;
|
|
228
|
+
try {
|
|
229
|
+
classification = classifyIntentDeterministic(text);
|
|
230
|
+
} catch (err) {
|
|
231
|
+
process.stderr.write(`[aria-first-class-coach:destructive-classifier-error] ${err instanceof Error ? err.message : String(err)} — passing block through unchanged\n`);
|
|
232
|
+
return runtimeBlock;
|
|
233
|
+
}
|
|
234
|
+
if (classification && classification.intent !== 'CLAIM' && classification.intent !== 'AMBIGUOUS') {
|
|
235
|
+
process.stderr.write(`[aria-first-class-coach:destructive-downgrade-applied] phase=output reasons=${reasons.join(',')} classifier_intent=${classification.intent} confidence=${classification.confidence} features=${(classification.features || []).join(',')} — downgraded; kill switch ARIA_COACH_DESTRUCTIVE_DOWNGRADE_OFF=1\n`);
|
|
236
|
+
return null;
|
|
237
|
+
}
|
|
238
|
+
if (classification && classification.intent === 'CLAIM' && classification.evidenceAnchored === true) {
|
|
239
|
+
process.stderr.write(`[aria-first-class-coach:destructive-downgrade-applied] phase=output reasons=${reasons.join(',')} classifier_intent=CLAIM evidence_anchored=true — downgraded; kill switch ARIA_COACH_DESTRUCTIVE_DOWNGRADE_OFF=1\n`);
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
if (classification && classification.intent === 'AMBIGUOUS' && PROPOSAL_MENU_RX.test(text)) {
|
|
243
|
+
process.stderr.write(`[aria-first-class-coach:destructive-downgrade-applied] phase=output reasons=${reasons.join(',')} classifier_intent=AMBIGUOUS menu_shape=true — downgraded; kill switch ARIA_COACH_DESTRUCTIVE_DOWNGRADE_OFF=1\n`);
|
|
244
|
+
return null;
|
|
245
|
+
}
|
|
246
|
+
return runtimeBlock;
|
|
247
|
+
}
|
|
248
|
+
return runtimeBlock;
|
|
249
|
+
}
|
|
250
|
+
|
|
251
|
+
function applyLocalLedgerSupersedes(runtimeBlock, ledger) {
|
|
252
|
+
if (/^(?:1|true|yes|on)$/i.test(String(process.env.ARIA_COACH_SUPERSEDES_OFF || ''))) return runtimeBlock;
|
|
253
|
+
if (!runtimeBlock) return null;
|
|
254
|
+
const decision = String(runtimeBlock.decision || runtimeBlock.record?.decision || '').toLowerCase();
|
|
255
|
+
// Only act on repair_once; hard_block + blocked must pass through untouched.
|
|
256
|
+
if (decision !== 'repair_once') return runtimeBlock;
|
|
257
|
+
const reasons = extractRuntimeReasons(runtimeBlock);
|
|
258
|
+
if (reasons.length === 0) return runtimeBlock;
|
|
259
|
+
const allSupersedable = reasons.every((r) => SUPERSEDABLE_RUNTIME_REASONS.has(r));
|
|
260
|
+
if (!allSupersedable) return runtimeBlock;
|
|
261
|
+
const readinessOk = ledger?.controls?.readinessClaimAllowed === true;
|
|
262
|
+
const openBlockers = Array.isArray(ledger?.openBlockers) ? ledger.openBlockers : [];
|
|
263
|
+
if (!readinessOk || openBlockers.length > 0) return runtimeBlock;
|
|
264
|
+
// LOUD telemetry — every downgrade is auditable.
|
|
265
|
+
process.stderr.write(`[aria-first-class-coach:supersedes-applied] decision=${decision} reasons=${reasons.join(',')} ledgerId=${ledger.ledgerId || 'unknown'} readinessClaimAllowed=true openBlockers=0 — downgraded to non-blocking advisory; kill switch ARIA_COACH_SUPERSEDES_OFF=1\n`);
|
|
266
|
+
return null;
|
|
267
|
+
}
|
|
268
|
+
|
|
33
269
|
async function main() {
|
|
34
270
|
const event = readInput();
|
|
35
271
|
const platform = inferCoachPlatform(event);
|
|
@@ -42,6 +278,42 @@ async function main() {
|
|
|
42
278
|
event,
|
|
43
279
|
evidence: hookEvidence,
|
|
44
280
|
});
|
|
281
|
+
const runtimeResult = await recordRuntimeCoachForLifecycle({
|
|
282
|
+
platform,
|
|
283
|
+
phase,
|
|
284
|
+
event,
|
|
285
|
+
ledgerResult,
|
|
286
|
+
evidence: hookEvidence,
|
|
287
|
+
});
|
|
288
|
+
const runtimeBlock = applyLocalLedgerSupersedes(
|
|
289
|
+
applyPostureDowngradeForDestructiveClass(
|
|
290
|
+
applyPostureDowngradeForDeployClass(
|
|
291
|
+
runtimeCoachBlocksLocalPhase(phase, runtimeResult),
|
|
292
|
+
event,
|
|
293
|
+
),
|
|
294
|
+
event,
|
|
295
|
+
),
|
|
296
|
+
ledgerResult.ledger,
|
|
297
|
+
);
|
|
298
|
+
// 2026-05-17 producer-enrichment for harness ticker
|
|
299
|
+
// (project_harness_ticker_counter_wiring_2026_05_17.md). The coach event
|
|
300
|
+
// row now carries the runtime decision + posture + forcedSkillLoad
|
|
301
|
+
// alongside the base telemetry so the ticker consumer can bump
|
|
302
|
+
// Repairs / Blocks / Skills fired (not just Gate checks). Moved after
|
|
303
|
+
// runtimeBlock computation so a single row per hook fire carries the
|
|
304
|
+
// full decision context — keeps gates count proportional to fires.
|
|
305
|
+
const decisionRaw = String(runtimeBlock?.decision || runtimeBlock?.record?.decision || '').toLowerCase();
|
|
306
|
+
const decision = decisionRaw || null;
|
|
307
|
+
const posture = decision === 'hard_block' || decision === 'blocked' ? 'hard_block'
|
|
308
|
+
: decision === 'repair_once' ? 'repair_once'
|
|
309
|
+
: null;
|
|
310
|
+
const forcedSkillLoad = runtimeBlock?.record?.forcedSkillLoad
|
|
311
|
+
|| runtimeBlock?.forcedSkillLoad
|
|
312
|
+
|| (Array.isArray(runtimeResult?.results)
|
|
313
|
+
? (runtimeResult.results.find((r) => r?.record?.forcedSkillLoad)?.record?.forcedSkillLoad
|
|
314
|
+
|| runtimeResult.results.find((r) => r?.forcedSkillLoad)?.forcedSkillLoad
|
|
315
|
+
|| null)
|
|
316
|
+
: null);
|
|
45
317
|
recordCoachEvent({
|
|
46
318
|
platform,
|
|
47
319
|
phase,
|
|
@@ -50,21 +322,35 @@ async function main() {
|
|
|
50
322
|
evidence: {
|
|
51
323
|
...hookEvidence,
|
|
52
324
|
task_project_ledger: ledgerResult.ledger.ledgerId,
|
|
325
|
+
...(decision ? { decision } : {}),
|
|
326
|
+
...(posture ? { posture } : {}),
|
|
53
327
|
},
|
|
328
|
+
metadata: forcedSkillLoad ? { forcedSkillLoad } : null,
|
|
54
329
|
});
|
|
55
|
-
|
|
56
|
-
const runtimeResult = await recordRuntimeCoachForLifecycle({
|
|
57
|
-
platform,
|
|
58
|
-
phase,
|
|
59
|
-
event,
|
|
60
|
-
ledgerResult,
|
|
61
|
-
evidence: hookEvidence,
|
|
62
|
-
});
|
|
63
|
-
const runtimeBlock = runtimeCoachBlocksLocalPhase(phase, runtimeResult);
|
|
64
330
|
if (runtimeBlock) emitRuntimeCoachBlock(runtimeBlock);
|
|
65
331
|
|
|
66
332
|
if (phase === 'stop' || phase === 'pre_emit' || phase === 'post_cognition') {
|
|
67
333
|
const text = extractAssistantText(event);
|
|
334
|
+
const manifestSlot = extractManifest(text);
|
|
335
|
+
if (manifestSlot) {
|
|
336
|
+
const hash = manifestHash(manifestSlot.manifest);
|
|
337
|
+
const mode = manifestMode(manifestSlot.manifest) || 'unknown';
|
|
338
|
+
const verificationRequired = manifestVerificationRequired(manifestSlot.manifest);
|
|
339
|
+
process.stderr.write(
|
|
340
|
+
`[aria-first-class-coach:manifest] hash=${hash} mode=${mode} verification_required=${verificationRequired}\n`,
|
|
341
|
+
);
|
|
342
|
+
recordCoachEvent({
|
|
343
|
+
platform,
|
|
344
|
+
phase,
|
|
345
|
+
source: 'aria-first-class-coach-hook:manifest-extracted',
|
|
346
|
+
event,
|
|
347
|
+
evidence: {
|
|
348
|
+
...hookEvidence,
|
|
349
|
+
task_project_ledger: ledgerResult.ledger.ledgerId,
|
|
350
|
+
verification: { manifest_hash: hash, mode, verification_required: verificationRequired },
|
|
351
|
+
},
|
|
352
|
+
});
|
|
353
|
+
}
|
|
68
354
|
const evaluation = evaluateTaskProjectClaim({ text, ledger: ledgerResult.ledger });
|
|
69
355
|
if (!evaluation.ok) {
|
|
70
356
|
recordBlockedTaskProjectClaim({
|
|
@@ -103,7 +389,16 @@ async function main() {
|
|
|
103
389
|
task_project_claim_ok: true,
|
|
104
390
|
},
|
|
105
391
|
});
|
|
106
|
-
const releaseBlock =
|
|
392
|
+
const releaseBlock = applyLocalLedgerSupersedes(
|
|
393
|
+
applyPostureDowngradeForDestructiveClass(
|
|
394
|
+
applyPostureDowngradeForDeployClass(
|
|
395
|
+
runtimeCoachBlocksLocalPhase(phase, releaseRuntimeResult),
|
|
396
|
+
event,
|
|
397
|
+
),
|
|
398
|
+
event,
|
|
399
|
+
),
|
|
400
|
+
ledgerResult.ledger,
|
|
401
|
+
);
|
|
107
402
|
if (releaseBlock) emitRuntimeCoachBlock(releaseBlock);
|
|
108
403
|
}
|
|
109
404
|
|