@aria_asi/cli 0.2.40 → 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 +1223 -41
- 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 +477 -81
- 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 +477 -81
- 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 +477 -81
- 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 +1225 -41
- 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
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
// Goal-contract QA for Aria continuation work.
|
|
2
|
+
// This is repair-first cognitive QA, not a general hard-gate substitute.
|
|
3
|
+
|
|
4
|
+
export const UNIVERSAL_CONNECTOR_ACTUAL_GOAL =
|
|
5
|
+
'Wire extracted books, doctrines, skills, runtimes, primitives, mappings, CLIs, connectors, hooks, sidecars, and agent surfaces into the operating system so agent output improves automatically.';
|
|
6
|
+
|
|
7
|
+
export const UNIVERSAL_CONNECTOR_SUPPORT_ONLY = Object.freeze([
|
|
8
|
+
'receipts',
|
|
9
|
+
'gates',
|
|
10
|
+
'ledgers',
|
|
11
|
+
'canaries',
|
|
12
|
+
'deterministic drift checks',
|
|
13
|
+
'even-terminal release polish',
|
|
14
|
+
]);
|
|
15
|
+
|
|
16
|
+
export const UNIVERSAL_CONNECTOR_HIGH_IMPACT_SKILLS = Object.freeze([
|
|
17
|
+
'ghazali-tauba-kca-repair-contract',
|
|
18
|
+
'ghazali-rights-before-balance-settlement',
|
|
19
|
+
'ghazali-delay-is-risk-auditor',
|
|
20
|
+
'ghazali-knowledge-condition-action-patience-bridge',
|
|
21
|
+
'ghazali-cause-means-tawakkal-mizan',
|
|
22
|
+
'ghazali-ultimate-cause-chain-tracer',
|
|
23
|
+
'ghazali-necessity-vs-attachment-mizan',
|
|
24
|
+
'ghazali-attachment-not-possession-auditor',
|
|
25
|
+
'ghazali-acquaintance-before-love-diagnoser',
|
|
26
|
+
'ghazali-love-cup-attachment-displacement-auditor',
|
|
27
|
+
'ghazali-knowledge-will-strength-action-chain',
|
|
28
|
+
'ghazali-means-do-not-cleanse-end-gate',
|
|
29
|
+
'ghazali-six-register-truthfulness-audit',
|
|
30
|
+
'ghazali-breath-capital-day-contract',
|
|
31
|
+
'ghazali-two-premise-action-transduction',
|
|
32
|
+
'ghazali-four-object-thought-ledger',
|
|
33
|
+
'ghazali-one-vice-one-replacement-register',
|
|
34
|
+
'ghazali-bounded-sign-observation',
|
|
35
|
+
'ghazali-three-question-intention-gate',
|
|
36
|
+
'ghazali-principal-profit-loss-muhasabah',
|
|
37
|
+
'ghazali-self-rebuke-false-narrative-interrogator',
|
|
38
|
+
'ghazali-death-remembrance-deception-breaker',
|
|
39
|
+
'ghazali-condition-specific-hope-fear-medicine',
|
|
40
|
+
'ghazali-fear-action-not-paralysis-gate',
|
|
41
|
+
'ghazali-hope-requires-cultivation-auditor',
|
|
42
|
+
]);
|
|
43
|
+
|
|
44
|
+
export const UNIVERSAL_CONNECTOR_REQUIRED_RUNTIMES = Object.freeze([
|
|
45
|
+
'weber-verstehen-runtime-mode',
|
|
46
|
+
'marx-circulation-receipt-runtime',
|
|
47
|
+
'freud-dream-work-drift-diagnostic-runtime',
|
|
48
|
+
'smith-market-clearing-worker-runtime',
|
|
49
|
+
'durkheim-anomie-predeploy-runtime',
|
|
50
|
+
'tafakkur-transduction-runtime',
|
|
51
|
+
'six-stage-self-accounting-runtime',
|
|
52
|
+
'mortality-accounting-runtime',
|
|
53
|
+
'fear-hope-condition-regulation-runtime',
|
|
54
|
+
'intention-to-action-integrity-runtime',
|
|
55
|
+
'love-fruit-contentment-runtime',
|
|
56
|
+
'patience-gratitude-purpose-mizan-runtime',
|
|
57
|
+
'tauba-rights-repair-runtime',
|
|
58
|
+
'aria-repo-doctrine-production-intent-runtime',
|
|
59
|
+
'tawakkal-cause-mizan-runtime',
|
|
60
|
+
'zuhd-necessity-attachment-runtime',
|
|
61
|
+
]);
|
|
62
|
+
|
|
63
|
+
export const UNIVERSAL_CONNECTOR_QA_PACKET = Object.freeze({
|
|
64
|
+
qiyas: 'Run Qiyas-15 against owner trust, operator value, engineering quality, cognitive load, scale, compliance, red-team, one-week future, and one-year future.',
|
|
65
|
+
tadabbur: 'Run full consequence reasoning from current action to production behavior; reject work that only improves receipts without improving output.',
|
|
66
|
+
mizan: 'Balance evidence, owner impact, throughput, and false-completion risk; repair low-risk misses before hard-blocking.',
|
|
67
|
+
ghazali8: 'Use Nur for observed substrate, Mizan for proportion, Hikma for doctrine, Tafakkur for structure, Tadabbur for consequences, Ilham for sensed drift, Wahi for owner/corpus anchor, and Firasah for what the owner actually needs.',
|
|
68
|
+
fitrah: 'Truth over deception, no harm, sacred trust, power obligates service, reflection before action.',
|
|
69
|
+
tafakkur: 'Zahir/Batin/Sabab/Hikmah/Aqibah: visible output, hidden failure mode, cause chain, principle, consequence.',
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
function normalize(text) {
|
|
73
|
+
return String(text || '').toLowerCase();
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function hasAny(text, patterns) {
|
|
77
|
+
return patterns.some((pattern) => pattern.test(text));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function countHits(text, patterns) {
|
|
81
|
+
return patterns.reduce((count, pattern) => count + (pattern.test(text) ? 1 : 0), 0);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
function supportMechanismScore(text) {
|
|
85
|
+
return countHits(text, [
|
|
86
|
+
/\breceipts?\b/i,
|
|
87
|
+
/\bgates?\b/i,
|
|
88
|
+
/\bledgers?\b/i,
|
|
89
|
+
/\bcanar(?:y|ies)\b/i,
|
|
90
|
+
/\bdrift checks?\b/i,
|
|
91
|
+
/\bphase\s*\d+\b/i,
|
|
92
|
+
]);
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function actualGoalScore(text) {
|
|
96
|
+
return countHits(text, [
|
|
97
|
+
/\bwire(?:d|s|ing)?\b.{0,120}\b(?:books?|doctrines?|skills?|runtimes?|primitives?|mappings?|cli|connectors?|hooks?|sidecars?|surfaces?)\b/i,
|
|
98
|
+
/\bcorpus\b.{0,120}\b(?:runtime|connector|hook|surface|autofire|orchestrat)/i,
|
|
99
|
+
/\boutput improves? automatically\b/i,
|
|
100
|
+
/\bagent output\b.{0,80}\b(?:improves?|quality|qa|autofire)/i,
|
|
101
|
+
/\bforced(?:-|\s)?selection\b.{0,120}\b(?:skill|runtime|corpus|registry)/i,
|
|
102
|
+
/\bactual goal\b/i,
|
|
103
|
+
]);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
function hasEvidence(text) {
|
|
107
|
+
return hasAny(text, [
|
|
108
|
+
/\bverified\b/i,
|
|
109
|
+
/\bobserved\b/i,
|
|
110
|
+
/\bevidence\b/i,
|
|
111
|
+
/\bsmoke\b/i,
|
|
112
|
+
/\btest(?:ed|s)?\b/i,
|
|
113
|
+
/\baudit\b/i,
|
|
114
|
+
/\bnot production-ready\b/i,
|
|
115
|
+
/\bintegration-ready\b/i,
|
|
116
|
+
/\bblocked\b/i,
|
|
117
|
+
/\bpending\b/i,
|
|
118
|
+
]);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function hasNextAction(text) {
|
|
122
|
+
return hasAny(text, [
|
|
123
|
+
/\bnext (?:highest[-\s])?(?:quality[-\s])?(?:impact|action|step|move)\b/i,
|
|
124
|
+
/\bnext (?:best|most impactful)\b/i,
|
|
125
|
+
/\bthe next action\b/i,
|
|
126
|
+
/\bcontinue by\b/i,
|
|
127
|
+
/\bwire\b.{0,120}\b(?:registry|connector|hook|forced|runtime|surface)/i,
|
|
128
|
+
]);
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function hasQaRepair(text) {
|
|
132
|
+
return hasAny(text, [
|
|
133
|
+
/\bQA\b/i,
|
|
134
|
+
/\bqiyas\b/i,
|
|
135
|
+
/\btadabbur\b/i,
|
|
136
|
+
/\bmizan\b/i,
|
|
137
|
+
/\bghazali\b/i,
|
|
138
|
+
/\bcorrect(?:ed|ion)?\b/i,
|
|
139
|
+
/\benhance(?:d|ment)?\b/i,
|
|
140
|
+
/\bharden(?:ed|ing)?\b/i,
|
|
141
|
+
/\brepair(?:ed)?\b/i,
|
|
142
|
+
]);
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
function hasFalseCompletionRisk(text) {
|
|
146
|
+
return (
|
|
147
|
+
/\b(?:production ready|ready for production|release ready|promotion pass|complete|completed|done|verified|fixed)\b/i.test(text) &&
|
|
148
|
+
!/\b(?:not production-ready|not production ready|integration-ready|pending|blocked|unverified|bounded|evidence)\b/i.test(text)
|
|
149
|
+
);
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function userRequestsContinuation(userText) {
|
|
153
|
+
return hasAny(userText, [
|
|
154
|
+
/\bcontinue\b/i,
|
|
155
|
+
/\bnext (?:phase|step|best|move|action)\b/i,
|
|
156
|
+
/\bfire\b.{0,40}\bskills?\b/i,
|
|
157
|
+
/\bproduction\b/i,
|
|
158
|
+
/\bready\b/i,
|
|
159
|
+
/\bwhat(?:'s| is) left\b/i,
|
|
160
|
+
/\bhow far\b/i,
|
|
161
|
+
/\bqa\b/i,
|
|
162
|
+
/\bledger\b/i,
|
|
163
|
+
/\bautofire\b/i,
|
|
164
|
+
/\bwire\b/i,
|
|
165
|
+
]);
|
|
166
|
+
}
|
|
167
|
+
|
|
168
|
+
export function buildUniversalConnectorGoalContract(options = {}) {
|
|
169
|
+
const userText = String(options.userText || '');
|
|
170
|
+
const phase = String(options.phase || 'turn');
|
|
171
|
+
const continuation = userRequestsContinuation(userText);
|
|
172
|
+
return {
|
|
173
|
+
id: 'universal-connector-corpus-runtime-goal-contract',
|
|
174
|
+
phase,
|
|
175
|
+
actualGoal: UNIVERSAL_CONNECTOR_ACTUAL_GOAL,
|
|
176
|
+
notGoal: [...UNIVERSAL_CONNECTOR_SUPPORT_ONLY],
|
|
177
|
+
supportRule:
|
|
178
|
+
'Receipts, gates, ledgers, and canaries are support evidence only; they pass when they prove corpus-backed behavior changed action, QA, correction, verification, or learning.',
|
|
179
|
+
hardStopOnlyFor: [
|
|
180
|
+
'secrets',
|
|
181
|
+
'destructive actions',
|
|
182
|
+
'deploy or public publication boundary',
|
|
183
|
+
'owner-contradicted action',
|
|
184
|
+
'proven false completion risk',
|
|
185
|
+
],
|
|
186
|
+
qaPacket: UNIVERSAL_CONNECTOR_QA_PACKET,
|
|
187
|
+
selectedSkills: [...UNIVERSAL_CONNECTOR_HIGH_IMPACT_SKILLS],
|
|
188
|
+
selectedRuntimes: [...UNIVERSAL_CONNECTOR_REQUIRED_RUNTIMES],
|
|
189
|
+
expectedTurnShape: [
|
|
190
|
+
'state the active actual goal or bind the work directly to it',
|
|
191
|
+
'name the next highest-impact action by default',
|
|
192
|
+
'run QA as expected-vs-observed with correction/enhancement/hardening when safe',
|
|
193
|
+
'bound readiness claims as verified, blocked, or pending',
|
|
194
|
+
'keep owner-facing output readable and avoid raw receipt dumps unless requested',
|
|
195
|
+
],
|
|
196
|
+
nextHighestImpactAction:
|
|
197
|
+
'Promote the sandbox corpus registry consumer into the real connector/hook forced-selection path, then run behavioral QA on actual Claude/Codex/OpenCode continuation prompts.',
|
|
198
|
+
continuation,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
export function evaluateGoalContractOutput(text, options = {}) {
|
|
203
|
+
const source = String(text || '');
|
|
204
|
+
const userText = String(options.userText || '');
|
|
205
|
+
const contract = options.goalContract || buildUniversalConnectorGoalContract({ userText });
|
|
206
|
+
const combined = normalize(source);
|
|
207
|
+
const blockers = [];
|
|
208
|
+
const warnings = [];
|
|
209
|
+
const repairs = [];
|
|
210
|
+
const findings = [];
|
|
211
|
+
const continuation = contract.continuation || userRequestsContinuation(userText) || actualGoalScore(userText) > 0;
|
|
212
|
+
const goalHits = actualGoalScore(source);
|
|
213
|
+
const supportHits = supportMechanismScore(source);
|
|
214
|
+
|
|
215
|
+
if (!continuation) {
|
|
216
|
+
return {
|
|
217
|
+
pass: true,
|
|
218
|
+
hardBlock: false,
|
|
219
|
+
score: 1,
|
|
220
|
+
findings,
|
|
221
|
+
blockers,
|
|
222
|
+
warnings,
|
|
223
|
+
repairs,
|
|
224
|
+
contract,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
if (goalHits === 0) {
|
|
229
|
+
warnings.push('goal-contract: output does not bind the turn to corpus-to-runtime wiring or automatic output improvement');
|
|
230
|
+
repairs.push('Name the actual goal or make the current action directly advance corpus registry, runtime, hook, connector, surface, or forced-selection wiring.');
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
if (!hasNextAction(source)) {
|
|
234
|
+
warnings.push('goal-contract: continuation output does not name the next highest-impact action');
|
|
235
|
+
repairs.push('Add a next action that advances real wiring or behavioral QA, not a generic question back to the owner.');
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
if (!hasQaRepair(source)) {
|
|
239
|
+
warnings.push('goal-contract: QA/correction loop is missing from the visible state');
|
|
240
|
+
repairs.push('Add expected-vs-observed QA with correction, enhancement, hardening, or an explicit pass boundary.');
|
|
241
|
+
}
|
|
242
|
+
|
|
243
|
+
if (!hasEvidence(source)) {
|
|
244
|
+
warnings.push('goal-contract: evidence boundary is missing');
|
|
245
|
+
repairs.push('State verified, blocked, pending, unverified, or the exact evidence class used before making status claims.');
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
if (supportHits >= 3 && supportHits > goalHits + 1) {
|
|
249
|
+
warnings.push('goal-contract: support mechanisms dominate the answer over the actual product goal');
|
|
250
|
+
repairs.push('Reframe receipts, gates, ledgers, and canaries as evidence only, then return to corpus-to-runtime wiring and output improvement.');
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
if (/\bwhat would you like me to do next\b|\bhow would you like me to proceed\b/i.test(source)) {
|
|
254
|
+
blockers.push('goal-contract: output asks the owner to choose the obvious continuation instead of naming the next highest-impact step');
|
|
255
|
+
repairs.push('Replace the open-ended handoff with the concrete next action from the active goal contract.');
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
if (hasFalseCompletionRisk(source)) {
|
|
259
|
+
blockers.push('goal-contract: false completion or readiness claim without bounded evidence');
|
|
260
|
+
repairs.push('Downgrade the claim to verified, blocked, pending, or unverified and name the evidence still needed.');
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
if (/\b(?:add|create|turn on|tighten)\s+(?:stricter\s+)?(?:more\s+)?(?:stop\s+)?gates\b/i.test(source) && !/\b(?:QA-as-gate|forced QA|repair-first|quality canary|false completion risk)\b/i.test(source)) {
|
|
264
|
+
warnings.push('goal-contract: gate-first drift detected without repair-first QA framing');
|
|
265
|
+
repairs.push('Use QA-as-gate and repair-first behavior; reserve hard stops for secrets, destructive/deploy/public boundaries, owner contradiction, or false completion risk.');
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
if (/\b(?:\/consult|consult api|consult response)\b/i.test(combined) && /\b(?:quality source|core quality|dependency|required)\b/i.test(combined)) {
|
|
269
|
+
blockers.push('goal-contract: consult API is being treated as the core quality engine');
|
|
270
|
+
repairs.push('Use local cognitive skills, corpus registry, runtime sidecar, and behavioral QA as the core quality path.');
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (goalHits > 0) findings.push('actual_goal_bound');
|
|
274
|
+
if (hasNextAction(source)) findings.push('next_action_named');
|
|
275
|
+
if (hasQaRepair(source)) findings.push('qa_loop_present');
|
|
276
|
+
if (hasEvidence(source)) findings.push('evidence_boundary_present');
|
|
277
|
+
|
|
278
|
+
const scoreParts = [
|
|
279
|
+
goalHits > 0,
|
|
280
|
+
hasNextAction(source),
|
|
281
|
+
hasQaRepair(source),
|
|
282
|
+
hasEvidence(source),
|
|
283
|
+
!(supportHits >= 3 && supportHits > goalHits + 1),
|
|
284
|
+
!hasFalseCompletionRisk(source),
|
|
285
|
+
];
|
|
286
|
+
const score = scoreParts.filter(Boolean).length / scoreParts.length;
|
|
287
|
+
const hardBlock = blockers.length > 0;
|
|
288
|
+
|
|
289
|
+
return {
|
|
290
|
+
pass: !hardBlock && score >= 0.67,
|
|
291
|
+
hardBlock,
|
|
292
|
+
score,
|
|
293
|
+
findings,
|
|
294
|
+
blockers: [...new Set(blockers)],
|
|
295
|
+
warnings: [...new Set(warnings)],
|
|
296
|
+
repairs: [...new Set(repairs)],
|
|
297
|
+
nextHighestImpactAction: contract.nextHighestImpactAction,
|
|
298
|
+
selectedSkills: contract.selectedSkills,
|
|
299
|
+
selectedRuntimes: contract.selectedRuntimes,
|
|
300
|
+
contract,
|
|
301
|
+
};
|
|
302
|
+
}
|
|
@@ -44,6 +44,98 @@ export function isMostlySystemReminder(text, systemReminderRx, threshold = 0.6)
|
|
|
44
44
|
return reminderChars / Math.max(1, text.length) >= threshold;
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
+
/**
|
|
48
|
+
* M9.DRIFT.10r — opt-IN classifier for user-authored content.
|
|
49
|
+
*
|
|
50
|
+
* Returns true ONLY when the user-role message has identifiable user
|
|
51
|
+
* voice (text content that survives stripping runtime injections).
|
|
52
|
+
* Returns false for runtime-authored shapes:
|
|
53
|
+
* - tool_result-only content
|
|
54
|
+
* - tool_use / image / document blocks (runtime envelopes)
|
|
55
|
+
* - text content dominated by system-reminder injections
|
|
56
|
+
* - mixed-content where runtime injections + tool_results dominate
|
|
57
|
+
* the character budget by `threshold` (default 0.6)
|
|
58
|
+
*
|
|
59
|
+
* REPLACES the prior two-step opt-OUT pattern:
|
|
60
|
+
* if (isToolResultOnlyContent(content)) continue;
|
|
61
|
+
* if (isMostlySystemReminder(extractTextFromContent(content), ...)) continue;
|
|
62
|
+
*
|
|
63
|
+
* The two-step pattern was OPT-OUT (skip if known-runtime, count
|
|
64
|
+
* otherwise). It missed mixed-content user messages where Claude Code
|
|
65
|
+
* wraps tool_result alongside a system-reminder + small noise text —
|
|
66
|
+
* a transcript shape that emerged after the original parser was
|
|
67
|
+
* authored. Mixed messages defeated both checks (not exclusively
|
|
68
|
+
* tool_result; system-reminder coverage below threshold) and got
|
|
69
|
+
* counted as user-boundaries, evicting cognition from the lookback
|
|
70
|
+
* window faster than designed.
|
|
71
|
+
*
|
|
72
|
+
* OPT-IN is safer on uncertainty: future runtime-injection block
|
|
73
|
+
* types automatically classify as not-user-authored without code
|
|
74
|
+
* changes (the conservative direction for cognition-window
|
|
75
|
+
* preservation).
|
|
76
|
+
*
|
|
77
|
+
* @param {Array|string|null} content message.content (Claude Code shape)
|
|
78
|
+
* @param {object} opts
|
|
79
|
+
* @param {RegExp|null} opts.systemReminderRx matches runtime-injection text spans
|
|
80
|
+
* @param {number} opts.systemReminderThreshold 0..1 runtime-dominance threshold (default 0.6)
|
|
81
|
+
* @returns {boolean} true ⇔ identifiable user voice present
|
|
82
|
+
*/
|
|
83
|
+
export function isUserAuthoredMessage(content, {
|
|
84
|
+
systemReminderRx = null,
|
|
85
|
+
systemReminderThreshold = 0.6,
|
|
86
|
+
} = {}) {
|
|
87
|
+
if (!content) return false;
|
|
88
|
+
|
|
89
|
+
// Legacy string content: user-authored if it has substantive text
|
|
90
|
+
// after stripping runtime injections.
|
|
91
|
+
if (typeof content === 'string') {
|
|
92
|
+
const trimmed = content.trim();
|
|
93
|
+
if (!trimmed) return false;
|
|
94
|
+
if (isMostlySystemReminder(content, systemReminderRx, systemReminderThreshold)) return false;
|
|
95
|
+
return true;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
if (!Array.isArray(content)) return false;
|
|
99
|
+
if (content.length === 0) return false;
|
|
100
|
+
|
|
101
|
+
// Walk blocks; tally user-authored chars vs runtime-authored chars.
|
|
102
|
+
let userAuthoredChars = 0;
|
|
103
|
+
let runtimeAuthoredChars = 0;
|
|
104
|
+
let sawTextBlock = false;
|
|
105
|
+
const reminderRx = systemReminderRx instanceof RegExp ? withGlobalRegex(systemReminderRx) : null;
|
|
106
|
+
|
|
107
|
+
for (const block of content) {
|
|
108
|
+
if (!block || typeof block !== 'object') continue;
|
|
109
|
+
const t = block.type;
|
|
110
|
+
// Runtime envelopes — never user voice.
|
|
111
|
+
if (t === 'tool_result' || t === 'tool_use' || t === 'image' || t === 'document') {
|
|
112
|
+
// Notional cost so a tool_result-only message has runtime > 0.
|
|
113
|
+
runtimeAuthoredChars += 200;
|
|
114
|
+
continue;
|
|
115
|
+
}
|
|
116
|
+
if (t !== 'text') continue;
|
|
117
|
+
sawTextBlock = true;
|
|
118
|
+
const text = String(block.text || '');
|
|
119
|
+
if (!text.trim()) continue;
|
|
120
|
+
if (reminderRx) {
|
|
121
|
+
const stripped = text.replace(reminderRx, '').trim();
|
|
122
|
+
runtimeAuthoredChars += text.length - stripped.length;
|
|
123
|
+
userAuthoredChars += stripped.length;
|
|
124
|
+
} else {
|
|
125
|
+
userAuthoredChars += text.length;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
// No text blocks at all → message is purely runtime envelopes.
|
|
130
|
+
if (!sawTextBlock) return false;
|
|
131
|
+
// No user-authored text after stripping → runtime-authored.
|
|
132
|
+
if (userAuthoredChars === 0) return false;
|
|
133
|
+
// Runtime dominates by threshold → runtime-authored.
|
|
134
|
+
const totalChars = runtimeAuthoredChars + userAuthoredChars;
|
|
135
|
+
if (totalChars > 0 && runtimeAuthoredChars / totalChars >= systemReminderThreshold) return false;
|
|
136
|
+
return true;
|
|
137
|
+
}
|
|
138
|
+
|
|
47
139
|
export function collectRecentAssistantTextsFromMessages(messages, {
|
|
48
140
|
compactSummaryRx = null,
|
|
49
141
|
hardLookbackCap = 50,
|
|
@@ -61,11 +153,13 @@ export function collectRecentAssistantTextsFromMessages(messages, {
|
|
|
61
153
|
const role = normalizeRole(entry);
|
|
62
154
|
const content = normalizeContent(entry);
|
|
63
155
|
if (role === 'user') {
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
156
|
+
// M9.DRIFT.10r — opt-IN classifier replaces opt-OUT two-step.
|
|
157
|
+
// Mixed-content user messages (tool_result + system-reminder +
|
|
158
|
+
// small noise text) used to defeat both isToolResultOnlyContent
|
|
159
|
+
// and isMostlySystemReminder, getting counted as boundaries and
|
|
160
|
+
// evicting cognition from the window. isUserAuthoredMessage
|
|
161
|
+
// returns true ONLY for identifiable user voice.
|
|
162
|
+
if (!isUserAuthoredMessage(content, { systemReminderRx, systemReminderThreshold })) continue;
|
|
69
163
|
userBoundariesCrossed++;
|
|
70
164
|
if (userBoundariesCrossed > userBoundariesToCross) break;
|
|
71
165
|
continue;
|
|
@@ -100,11 +194,9 @@ export function collectTurnWindowFromMessages(messages, {
|
|
|
100
194
|
const content = normalizeContent(entry);
|
|
101
195
|
|
|
102
196
|
if (role === 'user') {
|
|
103
|
-
|
|
197
|
+
// M9.DRIFT.10r — opt-IN classifier replaces opt-OUT two-step.
|
|
198
|
+
if (!isUserAuthoredMessage(content, { systemReminderRx, systemReminderThreshold })) continue;
|
|
104
199
|
const textContent = extractTextFromContent(content);
|
|
105
|
-
if (isMostlySystemReminder(textContent, systemReminderRx, systemReminderThreshold)) {
|
|
106
|
-
continue;
|
|
107
|
-
}
|
|
108
200
|
lastUserMessage = textContent || lastUserMessage;
|
|
109
201
|
break;
|
|
110
202
|
}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* invocation-required-verifier.mjs — F5.c stop-gate verification that
|
|
3
|
+
* autoload-named active-workflow skills were actually invoked via the
|
|
4
|
+
* Skill tool this turn. Doctrine: feedback_autoload_does_not_invoke_skills.md.
|
|
5
|
+
*
|
|
6
|
+
* Reads explicit manifest-required skills when provided, otherwise reads
|
|
7
|
+
* ~/.claude/.aria-current-turn-context.json (sidecar) for the invocationRequired
|
|
8
|
+
* field (active-workflow skills loaded this turn), then compares against the
|
|
9
|
+
* set of Skill tool_use invocations visible in the transcript (passed in by
|
|
10
|
+
* caller).
|
|
11
|
+
*
|
|
12
|
+
* For each required skill, classifies per Recovery Contract A/B/C/D:
|
|
13
|
+
* A. INVOKED — Skill(name=X) call in transcript
|
|
14
|
+
* B. COMPOSED-VIA-PARENT — parent skill (e.g. aria-cognition-batch)
|
|
15
|
+
* invoked, and X is in parent's Composition section
|
|
16
|
+
* C. SCOPE-EXEMPT — explicit operator read-only language
|
|
17
|
+
* ("explain X", "show me X body", "what does X do")
|
|
18
|
+
* D. CAP-DEFERRED — > INVOCATION_CAP_PER_TURN (15) active invocations
|
|
19
|
+
* this turn (runaway-prevention sanity ceiling)
|
|
20
|
+
*
|
|
21
|
+
* Missing classification → doctrine drift; gate warns (default) or blocks
|
|
22
|
+
* (when ARIA_F5C_HARD_BLOCK=1).
|
|
23
|
+
*
|
|
24
|
+
* Composition map: maintained as a small static map of parent → composed
|
|
25
|
+
* children, derived from skill body Composition sections. Updated when
|
|
26
|
+
* skill bodies change.
|
|
27
|
+
*/
|
|
28
|
+
|
|
29
|
+
import { readFileSync, existsSync } from 'node:fs';
|
|
30
|
+
import { homedir } from 'node:os';
|
|
31
|
+
|
|
32
|
+
const HOME = homedir();
|
|
33
|
+
const SIDECAR_PATH = `${HOME}/.claude/.aria-current-turn-context.json`;
|
|
34
|
+
const SANITY_CAP = 15;
|
|
35
|
+
|
|
36
|
+
// Static composition map — keys are parent skills, values are
|
|
37
|
+
// active-workflow children whose invocation requirement is satisfied
|
|
38
|
+
// when the parent is invoked. Derived from skill body Composition
|
|
39
|
+
// sections. Update when skill bodies change.
|
|
40
|
+
const COMPOSITION_MAP = {
|
|
41
|
+
'aria-cognition-batch': ['tadabbur', 'qiyas-analogy', 'mizan', 'ghazali-8lens'],
|
|
42
|
+
'aria-fullstack-orchestrator': ['aria-forge-guardrails'],
|
|
43
|
+
'aria-business-frame': ['mizan', 'tadabbur'],
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
const SCOPE_EXEMPT_RX = /\b(?:explain|what does|how does|show me|describe|tell me about)\s+(?:the\s+)?(\S+?)(?:\s+(?:do|work|body|skill))?\b/gi;
|
|
47
|
+
|
|
48
|
+
/**
|
|
49
|
+
* Read explicit required skills or sidecar.invocationRequired for the current turn.
|
|
50
|
+
* Returns string[] (empty if sidecar missing or field absent).
|
|
51
|
+
*/
|
|
52
|
+
export function readInvocationRequired({ requiredSkills } = {}) {
|
|
53
|
+
if (Array.isArray(requiredSkills)) {
|
|
54
|
+
return [...new Set(requiredSkills.filter((skill) => typeof skill === 'string' && skill.trim()).map((skill) => skill.trim()))];
|
|
55
|
+
}
|
|
56
|
+
if (!existsSync(SIDECAR_PATH)) return [];
|
|
57
|
+
let raw;
|
|
58
|
+
try { raw = readFileSync(SIDECAR_PATH, 'utf-8'); } catch { return []; }
|
|
59
|
+
let parsed;
|
|
60
|
+
try { parsed = JSON.parse(raw); } catch { return []; }
|
|
61
|
+
return Array.isArray(parsed.invocationRequired) ? parsed.invocationRequired : [];
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Verify invocationRequired against the set of invoked skills + the
|
|
66
|
+
* user prompt (for scope-exempt detection).
|
|
67
|
+
*
|
|
68
|
+
* Args:
|
|
69
|
+
* invokedSkills: Set<string> | string[] of skill names invoked via
|
|
70
|
+
* Skill tool this turn (extracted from transcript by caller)
|
|
71
|
+
* userPrompt: string of the latest user prompt (for SCOPE-EXEMPT
|
|
72
|
+
* detection)
|
|
73
|
+
* requiredSkills: optional string[] from OrchestrationManifest
|
|
74
|
+
* intent.workflow_skills_to_invoke. When present, this is the routing
|
|
75
|
+
* source instead of sidecar/classifier state.
|
|
76
|
+
*
|
|
77
|
+
* Returns: { required, classifications: {A, B, C, D, missing}, ok }
|
|
78
|
+
* classifications.A: skills directly invoked
|
|
79
|
+
* classifications.B: skills satisfied via parent composition
|
|
80
|
+
* classifications.C: skills exempted by scope (read-only operator
|
|
81
|
+
* language)
|
|
82
|
+
* classifications.D: skills deferred by sanity cap
|
|
83
|
+
* classifications.missing: skills with NO valid classification
|
|
84
|
+
* (doctrine drift)
|
|
85
|
+
* ok: true if classifications.missing.length === 0
|
|
86
|
+
*/
|
|
87
|
+
export function verifyInvocations({ invokedSkills, userPrompt, requiredSkills }) {
|
|
88
|
+
const required = readInvocationRequired({ requiredSkills });
|
|
89
|
+
const invokedSet = new Set(Array.isArray(invokedSkills) ? invokedSkills : [...(invokedSkills || [])]);
|
|
90
|
+
const result = {
|
|
91
|
+
required,
|
|
92
|
+
classifications: { A: [], B: [], C: [], D: [], missing: [] },
|
|
93
|
+
ok: true,
|
|
94
|
+
};
|
|
95
|
+
if (required.length === 0) return result;
|
|
96
|
+
|
|
97
|
+
// Sanity-cap check first (Class D applies to overflow).
|
|
98
|
+
if (invokedSet.size >= SANITY_CAP) {
|
|
99
|
+
// All un-invoked required skills classify as D when cap reached
|
|
100
|
+
for (const skill of required) {
|
|
101
|
+
if (invokedSet.has(skill)) result.classifications.A.push(skill);
|
|
102
|
+
else result.classifications.D.push(skill);
|
|
103
|
+
}
|
|
104
|
+
return result;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
// Build set of scope-exempt mentions from user prompt
|
|
108
|
+
const promptScopeMentions = new Set();
|
|
109
|
+
if (typeof userPrompt === 'string') {
|
|
110
|
+
SCOPE_EXEMPT_RX.lastIndex = 0;
|
|
111
|
+
let m;
|
|
112
|
+
while ((m = SCOPE_EXEMPT_RX.exec(userPrompt)) !== null) {
|
|
113
|
+
promptScopeMentions.add(m[1].toLowerCase());
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
for (const skill of required) {
|
|
118
|
+
// A. INVOKED
|
|
119
|
+
if (invokedSet.has(skill)) {
|
|
120
|
+
result.classifications.A.push(skill);
|
|
121
|
+
continue;
|
|
122
|
+
}
|
|
123
|
+
// B. COMPOSED-VIA-PARENT
|
|
124
|
+
let composed = false;
|
|
125
|
+
for (const [parent, children] of Object.entries(COMPOSITION_MAP)) {
|
|
126
|
+
if (invokedSet.has(parent) && children.includes(skill)) {
|
|
127
|
+
result.classifications.B.push(`${skill}<-${parent}`);
|
|
128
|
+
composed = true;
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
if (composed) continue;
|
|
133
|
+
// C. SCOPE-EXEMPT (read-only inspection of the skill)
|
|
134
|
+
if (promptScopeMentions.has(skill.toLowerCase())) {
|
|
135
|
+
result.classifications.C.push(skill);
|
|
136
|
+
continue;
|
|
137
|
+
}
|
|
138
|
+
// No classification — doctrine drift
|
|
139
|
+
result.classifications.missing.push(skill);
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
result.ok = result.classifications.missing.length === 0;
|
|
143
|
+
return result;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* Format a human-readable block-reason for the stop-gate when
|
|
148
|
+
* verifyInvocations returns ok=false. The block-reason cites the
|
|
149
|
+
* doctrine memory, names each missing skill, and gives the recovery
|
|
150
|
+
* contract A/B/C/D classifications the LLM must choose from before
|
|
151
|
+
* re-emitting.
|
|
152
|
+
*/
|
|
153
|
+
export function formatInvocationGapReason(result) {
|
|
154
|
+
const missing = result.classifications.missing;
|
|
155
|
+
if (missing.length === 0) return '';
|
|
156
|
+
return `Aria stop-gate: F5 INVOCATION-REQUIRED gap.
|
|
157
|
+
|
|
158
|
+
Active-workflow skills were loaded as autoload bodies this turn but the
|
|
159
|
+
Skill tool was NOT invoked for them, AND they do NOT satisfy any of the
|
|
160
|
+
A/B/C/D Recovery Contract classifications:
|
|
161
|
+
|
|
162
|
+
Missing: ${missing.join(', ')}
|
|
163
|
+
|
|
164
|
+
Doctrine: feedback_autoload_does_not_invoke_skills.md
|
|
165
|
+
Substrate-loaded ≠ workflow-run. Bodies in context are reference
|
|
166
|
+
material; the workflow runs only when you invoke the Skill tool.
|
|
167
|
+
|
|
168
|
+
Recovery Contract — every loaded active skill must end the turn as:
|
|
169
|
+
A. INVOKED — Skill(name) tool call in this turn's transcript
|
|
170
|
+
B. COMPOSED-VIA-PARENT — parent skill invoked + child in parent's
|
|
171
|
+
Composition map (parents recognized: aria-cognition-batch,
|
|
172
|
+
aria-fullstack-orchestrator, aria-business-frame)
|
|
173
|
+
C. SCOPE-EXEMPT — operator prompt explicitly inspected the skill
|
|
174
|
+
("explain X", "what does X do", "show me X body")
|
|
175
|
+
D. CAP-DEFERRED — > 15 active invocations this turn (sanity ceiling
|
|
176
|
+
only; not a thoroughness budget)
|
|
177
|
+
|
|
178
|
+
Next action: invoke the missing skills via the Skill tool, OR satisfy
|
|
179
|
+
B/C/D, OR set ARIA_F5C_HARD_BLOCK=0 to downgrade this to warn-only.
|
|
180
|
+
Already invoked skills: ${result.classifications.A.join(', ') || '(none)'}
|
|
181
|
+
Composed via parent: ${result.classifications.B.join(', ') || '(none)'}
|
|
182
|
+
Scope-exempt: ${result.classifications.C.join(', ') || '(none)'}
|
|
183
|
+
Cap-deferred: ${result.classifications.D.join(', ') || '(none)'}`;
|
|
184
|
+
}
|