@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
|
@@ -7,11 +7,22 @@ import { fileURLToPath } from 'node:url';
|
|
|
7
7
|
|
|
8
8
|
const here = path.dirname(fileURLToPath(import.meta.url));
|
|
9
9
|
const repoRoot = path.resolve(here, '..', '..', '..');
|
|
10
|
-
const
|
|
10
|
+
const packageSkillRoots = [
|
|
11
11
|
path.join(repoRoot, 'packages/aria-connector/skills'),
|
|
12
12
|
path.join(repoRoot, 'harness/packages/harness-http-client/skills'),
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const homeSkillRoots = [
|
|
13
16
|
path.join(homedir(), '.agents/skills'),
|
|
14
17
|
path.join(homedir(), '.claude/skills'),
|
|
18
|
+
];
|
|
19
|
+
|
|
20
|
+
const includeHomeSkills = process.env.ARIA_VALIDATE_HOME_SKILLS === '1'
|
|
21
|
+
|| process.argv.includes('--include-home');
|
|
22
|
+
|
|
23
|
+
const skillRoots = [
|
|
24
|
+
...packageSkillRoots,
|
|
25
|
+
...(includeHomeSkills ? homeSkillRoots : []),
|
|
15
26
|
].filter((root) => {
|
|
16
27
|
try { return statSync(root).isDirectory(); } catch { return false; }
|
|
17
28
|
});
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Two-gate regression verifier for the codex-native hook chain. Closes the
|
|
3
|
+
// two failure modes that shipped via commit a893f60db (2026-05-18):
|
|
4
|
+
//
|
|
5
|
+
// Gap 1 — Mirror-by-file is incomplete. The mirror sync copied the files
|
|
6
|
+
// I touched but didn't carry their transitive imports, so
|
|
7
|
+
// runtime-client.mjs imports broke at ~/.codex/lib/sensitive-shape-detector.mjs.
|
|
8
|
+
// Fix: walk imports recursively, build closure, verify every file
|
|
9
|
+
// in the closure is byte-identical at every mirror location.
|
|
10
|
+
//
|
|
11
|
+
// Gap 2 — Live readback was not part of "declare done". Each hook needs
|
|
12
|
+
// an end-to-end synthetic-exec to prove it loads + writes without
|
|
13
|
+
// ERR_MODULE_NOT_FOUND / SyntaxError / TypeError / ReferenceError.
|
|
14
|
+
// Fix: run every hook with a synthetic event payload, capture exit
|
|
15
|
+
// code + stderr, fail if anything crashes.
|
|
16
|
+
//
|
|
17
|
+
// Usage:
|
|
18
|
+
// node packages/aria-connector/scripts/verify-codex-native-mirror.mjs
|
|
19
|
+
// exit 0 = both gates pass; exit 1 = any gap detected
|
|
20
|
+
//
|
|
21
|
+
// Designed to be wired into pre-commit / CI / aria-install-hooks so this
|
|
22
|
+
// class of regression cannot ship again silently.
|
|
23
|
+
|
|
24
|
+
import { readFileSync, existsSync, statSync } from 'node:fs';
|
|
25
|
+
import { spawnSync } from 'node:child_process';
|
|
26
|
+
import { createHash } from 'node:crypto';
|
|
27
|
+
import path from 'node:path';
|
|
28
|
+
import { homedir } from 'node:os';
|
|
29
|
+
|
|
30
|
+
const HOME = homedir();
|
|
31
|
+
const REPO = path.resolve(path.dirname(new URL(import.meta.url).pathname), '..', '..', '..');
|
|
32
|
+
|
|
33
|
+
// Four mirror roots that must agree. Each entry maps a relative-path key to
|
|
34
|
+
// its absolute root. Files in the closure must exist + match sha256 at every
|
|
35
|
+
// applicable root. Some roots only host a subset (e.g. ~/.codex/ doesn't host
|
|
36
|
+
// hive-wal-consumer.mjs because it's a Claude-only cross-CLI add).
|
|
37
|
+
const MIRROR_ROOTS = {
|
|
38
|
+
canonical: path.join(REPO, 'ops', 'claude-hooks', 'codex-native'),
|
|
39
|
+
packages: path.join(REPO, 'packages', 'aria-connector', 'hooks', 'codex-native'),
|
|
40
|
+
deploy: path.join(HOME, '.aria', 'runtime', 'hooks', 'codex-native'),
|
|
41
|
+
codex: path.join(HOME, '.codex', 'hooks'),
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
// Top-level hook entry points — these are loaded by config.toml / settings.json.
|
|
45
|
+
// Each is a closure root from which we walk imports.
|
|
46
|
+
const HOOK_ENTRYPOINTS = [
|
|
47
|
+
'aria-userprompt-submit.mjs',
|
|
48
|
+
'aria-pre-tool-use.mjs',
|
|
49
|
+
'aria-post-tool-use.mjs',
|
|
50
|
+
'aria-stop.mjs',
|
|
51
|
+
'aria-harness-ticker-sidecar.mjs',
|
|
52
|
+
'aria-live-ticker.mjs',
|
|
53
|
+
'atlas-session-context.mjs',
|
|
54
|
+
];
|
|
55
|
+
|
|
56
|
+
// Files that exist only on the Claude side (cross-CLI fleet visibility add);
|
|
57
|
+
// they don't need to be present at ~/.codex/.
|
|
58
|
+
const CLAUDE_ONLY = new Set([
|
|
59
|
+
'aria-hive-wal-consumer.mjs',
|
|
60
|
+
'lib/hive-wal-consumer.mjs',
|
|
61
|
+
]);
|
|
62
|
+
|
|
63
|
+
// Sibling-lib paths some hooks import via `../../lib/X.mjs`. These resolve
|
|
64
|
+
// OUTSIDE codex-native/ so each mirror root has a sibling location:
|
|
65
|
+
// canonical: ops/claude-hooks/lib/
|
|
66
|
+
// packages: packages/aria-connector/hooks/lib/
|
|
67
|
+
// deploy: ~/.aria/runtime/hooks/lib/
|
|
68
|
+
// codex: ~/.codex/lib/ (note: not ~/.codex/hooks/lib/)
|
|
69
|
+
const SIBLING_LIB_ROOTS = {
|
|
70
|
+
canonical: path.join(REPO, 'ops', 'claude-hooks', 'lib'),
|
|
71
|
+
packages: path.join(REPO, 'packages', 'aria-connector', 'hooks', 'lib'),
|
|
72
|
+
deploy: path.join(HOME, '.aria', 'runtime', 'hooks', 'lib'),
|
|
73
|
+
codex: path.join(HOME, '.codex', 'lib'),
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
const IMPORT_RX = /^import[\s\S]*?from\s+['"]([^'"]+)['"]\s*;?$/gm;
|
|
77
|
+
|
|
78
|
+
function sha256(filepath) {
|
|
79
|
+
if (!existsSync(filepath)) return null;
|
|
80
|
+
const buf = readFileSync(filepath);
|
|
81
|
+
return createHash('sha256').update(buf).digest('hex');
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Walk imports from `entryAbs` (absolute path) and return the closure set
|
|
86
|
+
* keyed by repo-relative path (relative to the canonical root or sibling lib
|
|
87
|
+
* root). Each value is { kind: 'codex-native' | 'sibling-lib', absPath }.
|
|
88
|
+
*/
|
|
89
|
+
function walkImportClosure(entryAbs, canonicalRoot, siblingLibRoot, seen = new Map()) {
|
|
90
|
+
if (seen.has(entryAbs)) return seen;
|
|
91
|
+
if (!existsSync(entryAbs)) return seen;
|
|
92
|
+
seen.set(entryAbs, null);
|
|
93
|
+
const body = readFileSync(entryAbs, 'utf8');
|
|
94
|
+
for (const m of body.matchAll(IMPORT_RX)) {
|
|
95
|
+
const spec = m[1];
|
|
96
|
+
if (!spec.startsWith('.')) continue; // bare imports are node-core or npm; skip
|
|
97
|
+
const resolved = path.resolve(path.dirname(entryAbs), spec);
|
|
98
|
+
walkImportClosure(resolved, canonicalRoot, siblingLibRoot, seen);
|
|
99
|
+
}
|
|
100
|
+
return seen;
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
function relativizeToMirror(absPath) {
|
|
104
|
+
// Determine if file lives under codex-native/ or under sibling-lib/
|
|
105
|
+
for (const [root, abs] of Object.entries(MIRROR_ROOTS)) {
|
|
106
|
+
if (absPath.startsWith(abs + path.sep)) {
|
|
107
|
+
return { kind: 'codex-native', rootKey: root, rel: path.relative(abs, absPath) };
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
for (const [root, abs] of Object.entries(SIBLING_LIB_ROOTS)) {
|
|
111
|
+
if (absPath.startsWith(abs + path.sep)) {
|
|
112
|
+
return { kind: 'sibling-lib', rootKey: root, rel: path.relative(abs, absPath) };
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
return null;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// ===== GAP 1: closure walk + byte-identical verification =====
|
|
119
|
+
console.log('=== GAP 1: dependency-closure mirror verification ===');
|
|
120
|
+
const closure = new Map(); // key: `${kind}::${rel}` → set of present rootKeys
|
|
121
|
+
let gap1Fail = 0;
|
|
122
|
+
|
|
123
|
+
for (const hook of HOOK_ENTRYPOINTS) {
|
|
124
|
+
const canonAbs = path.join(MIRROR_ROOTS.canonical, hook);
|
|
125
|
+
if (!existsSync(canonAbs)) {
|
|
126
|
+
console.log(` WARN canonical missing: ${hook}`);
|
|
127
|
+
continue;
|
|
128
|
+
}
|
|
129
|
+
const seen = walkImportClosure(canonAbs, MIRROR_ROOTS.canonical, SIBLING_LIB_ROOTS.canonical);
|
|
130
|
+
for (const abs of seen.keys()) {
|
|
131
|
+
const r = relativizeToMirror(abs);
|
|
132
|
+
if (!r) continue;
|
|
133
|
+
const key = `${r.kind}::${r.rel}`;
|
|
134
|
+
if (!closure.has(key)) closure.set(key, { kind: r.kind, rel: r.rel, expected: new Set(), shas: {} });
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// For each closure file, check existence + sha across all 4 roots
|
|
139
|
+
for (const [key, info] of closure) {
|
|
140
|
+
const roots = info.kind === 'codex-native' ? MIRROR_ROOTS : SIBLING_LIB_ROOTS;
|
|
141
|
+
const shas = {};
|
|
142
|
+
const missing = [];
|
|
143
|
+
for (const [rootKey, rootDir] of Object.entries(roots)) {
|
|
144
|
+
if (CLAUDE_ONLY.has(info.rel) && rootKey === 'codex') continue; // Claude-only files OK to skip on Codex
|
|
145
|
+
const filepath = path.join(rootDir, info.rel);
|
|
146
|
+
const sha = sha256(filepath);
|
|
147
|
+
if (sha === null) {
|
|
148
|
+
missing.push(rootKey);
|
|
149
|
+
} else {
|
|
150
|
+
shas[rootKey] = sha;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const uniqueShas = new Set(Object.values(shas));
|
|
154
|
+
if (missing.length > 0) {
|
|
155
|
+
console.log(` GAP ${info.rel.padEnd(50)} missing at: ${missing.join(', ')}`);
|
|
156
|
+
gap1Fail++;
|
|
157
|
+
} else if (uniqueShas.size > 1) {
|
|
158
|
+
console.log(` DIFF ${info.rel.padEnd(50)} sha-mismatch across roots: ${JSON.stringify(shas)}`);
|
|
159
|
+
gap1Fail++;
|
|
160
|
+
} else {
|
|
161
|
+
console.log(` ok ${info.rel.padEnd(50)} sha=${[...uniqueShas][0].slice(0,12)} (${Object.keys(shas).length} roots)`);
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
if (gap1Fail === 0) {
|
|
166
|
+
console.log(`Gap 1: PASS (${closure.size} closure files byte-identical across applicable mirror roots)`);
|
|
167
|
+
} else {
|
|
168
|
+
console.log(`Gap 1: FAIL (${gap1Fail} closure files missing or sha-mismatched)`);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// ===== GAP 2: live readback on every hook entrypoint =====
|
|
172
|
+
console.log();
|
|
173
|
+
console.log('=== GAP 2: live-readback on every hook entrypoint ===');
|
|
174
|
+
|
|
175
|
+
const SYNTHETIC = {
|
|
176
|
+
UserPromptSubmit: { hook_event_name: 'UserPromptSubmit', session_id: 'verify-mirror', user_prompt: 'probe' },
|
|
177
|
+
PreToolUse: { hook_event_name: 'PreToolUse', session_id: 'verify-mirror', tool_name: 'Bash', tool_input: { command: 'ls' } },
|
|
178
|
+
PostToolUse: { hook_event_name: 'PostToolUse', session_id: 'verify-mirror', tool_name: 'Bash', tool_input: { command: 'ls' }, tool_response: { stdout: 'x', stderr: '', exit_code: 0 } },
|
|
179
|
+
Stop: { hook_event_name: 'Stop', session_id: 'verify-mirror', transcript_path: '/tmp/nonexistent.jsonl' },
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
const HOOK_TO_EVENT = {
|
|
183
|
+
'aria-userprompt-submit.mjs': 'UserPromptSubmit',
|
|
184
|
+
'aria-pre-tool-use.mjs': 'PreToolUse',
|
|
185
|
+
'aria-post-tool-use.mjs': 'PostToolUse',
|
|
186
|
+
'aria-stop.mjs': 'Stop',
|
|
187
|
+
'aria-harness-ticker-sidecar.mjs': 'UserPromptSubmit', // sidecar reads state, any event is fine
|
|
188
|
+
'aria-live-ticker.mjs': 'UserPromptSubmit',
|
|
189
|
+
'atlas-session-context.mjs': 'UserPromptSubmit',
|
|
190
|
+
};
|
|
191
|
+
|
|
192
|
+
const READBACK_ROOTS = {
|
|
193
|
+
'deploy (Claude)': MIRROR_ROOTS.deploy,
|
|
194
|
+
'codex (live)': MIRROR_ROOTS.codex,
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
let gap2Fail = 0;
|
|
198
|
+
const CRASH_RX = /SyntaxError|TypeError|ReferenceError|ERR_MODULE_NOT_FOUND/;
|
|
199
|
+
|
|
200
|
+
for (const [rootLabel, rootDir] of Object.entries(READBACK_ROOTS)) {
|
|
201
|
+
for (const hook of HOOK_ENTRYPOINTS) {
|
|
202
|
+
if (CLAUDE_ONLY.has(hook) && rootLabel.includes('codex')) continue;
|
|
203
|
+
const filepath = path.join(rootDir, hook);
|
|
204
|
+
if (!existsSync(filepath)) {
|
|
205
|
+
console.log(` WARN ${rootLabel.padEnd(18)} ${hook.padEnd(35)} missing (skip)`);
|
|
206
|
+
continue;
|
|
207
|
+
}
|
|
208
|
+
const eventName = HOOK_TO_EVENT[hook] || 'UserPromptSubmit';
|
|
209
|
+
const payload = JSON.stringify(SYNTHETIC[eventName]);
|
|
210
|
+
const env = {
|
|
211
|
+
...process.env,
|
|
212
|
+
HOOK_EVENT_NAME: eventName,
|
|
213
|
+
ARIA_HOOK_SURFACE: rootLabel.includes('codex') ? 'codex' : 'claude',
|
|
214
|
+
// AI-12107 — structural short-circuit honored by runtime-client.mjs.
|
|
215
|
+
// runtimePost + LocalHarnessPacketClient.getHarnessPacket detect this
|
|
216
|
+
// env and return shape-compatible no-ops, skipping HTTP I/O. Hooks
|
|
217
|
+
// exercise their import path (the actual readback goal) but complete
|
|
218
|
+
// in milliseconds. No wall-clock timeout needed; the no-timeouts
|
|
219
|
+
// doctrine is honored — only structural signals decide pass/fail.
|
|
220
|
+
ARIA_HOOK_VERIFIER_MODE: '1',
|
|
221
|
+
};
|
|
222
|
+
const result = spawnSync('node', [filepath], { input: payload, env, encoding: 'utf8' });
|
|
223
|
+
const stderr = result.stderr || '';
|
|
224
|
+
const crashType = stderr.match(CRASH_RX);
|
|
225
|
+
if (result.status === 0 && !crashType) {
|
|
226
|
+
console.log(` ok ${rootLabel.padEnd(18)} ${hook.padEnd(35)} exit=0`);
|
|
227
|
+
} else if (crashType) {
|
|
228
|
+
// Real import/runtime crash — the exact class this verifier exists to catch.
|
|
229
|
+
console.log(` CRASH ${rootLabel.padEnd(18)} ${hook.padEnd(35)} exit=${result.status} ${crashType[0]}`);
|
|
230
|
+
const firstLine = stderr.split('\n').slice(0, 3).join(' | ').slice(0, 200);
|
|
231
|
+
console.log(` stderr: ${firstLine}`);
|
|
232
|
+
gap2Fail++;
|
|
233
|
+
} else if (result.signal || result.status === null) {
|
|
234
|
+
// Timeout or signal — hook didn't crash on load, it just exceeded budget
|
|
235
|
+
// or got SIGTERM'd. Warn but don't fail; live readback proved the hook
|
|
236
|
+
// imports cleanly (otherwise the crash would have happened in ms, not 30s).
|
|
237
|
+
console.log(` warn ${rootLabel.padEnd(18)} ${hook.padEnd(35)} timeout/signal=${result.signal || 'null'} (imports clean, exceeds 30s budget — non-fatal)`);
|
|
238
|
+
} else {
|
|
239
|
+
// Non-zero exit with no crash signature — likely the hook itself
|
|
240
|
+
// chose to exit non-zero (e.g. hook protocol asks for hard-block).
|
|
241
|
+
// That's hook behavior, not a mirror bug — log but don't fail.
|
|
242
|
+
console.log(` exit ${rootLabel.padEnd(18)} ${hook.padEnd(35)} exit=${result.status} (hook-chosen non-zero, no crash signature — non-fatal)`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
if (gap2Fail === 0) {
|
|
248
|
+
console.log(`Gap 2: PASS (every hook entrypoint loaded + exited 0 with no crash signature)`);
|
|
249
|
+
} else {
|
|
250
|
+
console.log(`Gap 2: FAIL (${gap2Fail} hook invocations crashed)`);
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
// ===== Final verdict =====
|
|
254
|
+
console.log();
|
|
255
|
+
const totalFail = gap1Fail + gap2Fail;
|
|
256
|
+
if (totalFail === 0) {
|
|
257
|
+
console.log('codex-native mirror verifier: BOTH GATES PASS');
|
|
258
|
+
process.exit(0);
|
|
259
|
+
} else {
|
|
260
|
+
console.log(`codex-native mirror verifier: FAIL — ${gap1Fail} closure gaps + ${gap2Fail} live-readback crashes`);
|
|
261
|
+
process.exit(1);
|
|
262
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 34-frameworks-unified
|
|
3
|
+
description: Use when a problem benefits from combining many strategic frameworks at once, especially for business analysis, marketing, sales, leadership, creative problem-solving, decision-making under uncertainty, or multi-perspective synthesis.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# 34 Frameworks Unified
|
|
7
|
+
|
|
8
|
+
Read `/home/hamzaibrahim1/.claude/skills/34-frameworks-unified.md` for the full framework inventory and recombination model.
|
|
9
|
+
|
|
10
|
+
Workflow:
|
|
11
|
+
|
|
12
|
+
1. Identify the actual decision, strategy, or design problem.
|
|
13
|
+
2. Load the source doc and select only the framework families that materially improve the answer.
|
|
14
|
+
3. Synthesize across those lenses instead of producing isolated mini-analyses.
|
|
15
|
+
4. Favor high-signal recombination over exhaustive enumeration.
|
|
16
|
+
|
|
17
|
+
## Required Workflow
|
|
18
|
+
|
|
19
|
+
1. Read the task boundary and identify the evidence needed before acting.
|
|
20
|
+
2. Apply the skill before choosing the response, edit, tool call, or completion claim.
|
|
21
|
+
3. Execute the smallest high-quality action that satisfies the evidence threshold.
|
|
22
|
+
4. Re-test or re-check with a concrete file, command, endpoint, log, runtime probe, or owner-observed result.
|
|
23
|
+
5. Report only the verified state, remaining blocker, and next concrete action.
|
|
24
|
+
|
|
25
|
+
## First-Class Production Contract
|
|
26
|
+
|
|
27
|
+
This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
|
|
28
|
+
|
|
29
|
+
- no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
|
|
30
|
+
- real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
|
|
31
|
+
- a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
|
|
32
|
+
- architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
33
|
+
- owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
|
|
34
|
+
|
|
35
|
+
## Self-Executing Recovery Contract
|
|
36
|
+
|
|
37
|
+
When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
|
|
38
|
+
|
|
39
|
+
- Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
|
|
40
|
+
- If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
|
|
41
|
+
- If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
|
|
42
|
+
- Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: api-design
|
|
3
|
+
description: REST, gRPC, and GraphQL API design patterns, versioning strategies, error contracts, pagination, rate limiting, and API lifecycle management. Use when the user designs a new API, reviews an API contract, asks about API versioning, needs RESTful resource modeling, evaluates gRPC vs REST, or designs request/response schemas. Do NOT use for database schema design — use database-design skill instead.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## What I Do
|
|
7
|
+
|
|
8
|
+
- Design RESTful resource models: resource identification, HTTP method semantics, status code usage, HATEOAS when appropriate
|
|
9
|
+
- Design gRPC service definitions: protobuf message design, service method semantics, streaming patterns
|
|
10
|
+
- Design GraphQL schemas: type system, query/mutation design, resolver patterns, N+1 mitigation
|
|
11
|
+
- Define API versioning strategies: URL path, header-based, query parameter, content negotiation
|
|
12
|
+
- Design error contracts: structured error responses, error codes, machine-readable and human-readable messages
|
|
13
|
+
- Define pagination patterns: offset-based, cursor-based, keyset pagination, Relay connection spec
|
|
14
|
+
- Design rate limiting and quota models: token bucket, sliding window, response headers
|
|
15
|
+
- Specify authentication and authorization patterns at the API boundary
|
|
16
|
+
- Design API lifecycle: alpha → beta → stable → deprecated → sunset, with migration guides
|
|
17
|
+
- Define idempotency patterns and safe retry semantics
|
|
18
|
+
|
|
19
|
+
## When to Use Me
|
|
20
|
+
|
|
21
|
+
Trigger phrases and patterns:
|
|
22
|
+
- "design an API for"
|
|
23
|
+
- "what should the REST endpoints be"
|
|
24
|
+
- "version this API"
|
|
25
|
+
- "gRPC vs REST for"
|
|
26
|
+
- "design the protobuf messages"
|
|
27
|
+
- "GraphQL schema for"
|
|
28
|
+
- "API error handling"
|
|
29
|
+
- "pagination strategy"
|
|
30
|
+
- "rate limiting design"
|
|
31
|
+
- "API contract"
|
|
32
|
+
- "design the request/response"
|
|
33
|
+
- "idempotency for"
|
|
34
|
+
- "backward compatible change"
|
|
35
|
+
|
|
36
|
+
## When NOT to Use Me
|
|
37
|
+
|
|
38
|
+
- Do not use for database schema design (use database-design skill)
|
|
39
|
+
- Do not use for system-level architecture decisions (use architecture-decision skill)
|
|
40
|
+
- Do not use for implementing API clients or servers — this is design guidance only
|
|
41
|
+
- Do not use for security-specific API concerns like OAuth2 flows (use security-review skill)
|
|
42
|
+
- Do not use when the API is already stable and well-documented — no unnecessary redesign
|
|
43
|
+
|
|
44
|
+
## Workflow
|
|
45
|
+
|
|
46
|
+
1. **Define the resource model**
|
|
47
|
+
- Identify the domain entities and their relationships
|
|
48
|
+
- Map entities to REST resources or GraphQL types
|
|
49
|
+
- Define the URL structure: collections, singleton resources, sub-resources
|
|
50
|
+
- Name resources with plural nouns, use kebab-case for multi-word resources
|
|
51
|
+
|
|
52
|
+
2. **Design operations**
|
|
53
|
+
- Map CRUD to HTTP methods: GET (read), POST (create), PUT/PATCH (update), DELETE (delete)
|
|
54
|
+
- Define custom actions as sub-resources: `POST /orders/{id}/cancel`
|
|
55
|
+
- For gRPC: define unary, server-streaming, client-streaming, bidirectional methods
|
|
56
|
+
- For GraphQL: define queries (reads), mutations (writes), subscriptions (events)
|
|
57
|
+
|
|
58
|
+
3. **Design request/response schemas**
|
|
59
|
+
- Use consistent envelope or bare responses — pick one and stick with it
|
|
60
|
+
- Define field naming convention: snake_case (REST/JSON), camelCase (GraphQL), snake_case (protobuf)
|
|
61
|
+
- Specify required vs optional fields explicitly
|
|
62
|
+
- Define validation constraints (length, range, format) at the schema level
|
|
63
|
+
- Use semantic types: UUID, ISO 8601 dates, ISO 4217 currencies, not raw strings
|
|
64
|
+
|
|
65
|
+
4. **Design error responses**
|
|
66
|
+
- Use RFC 7807 Problem Details for REST: `type`, `title`, `status`, `detail`, `instance`
|
|
67
|
+
- For gRPC: use standard status codes with rich error details via `google.rpc.Status`
|
|
68
|
+
- For GraphQL: use the `errors` array with `extensions.code` for machine-readable codes
|
|
69
|
+
- Define a finite error code enum — never return raw exception messages to clients
|
|
70
|
+
|
|
71
|
+
5. **Define pagination**
|
|
72
|
+
- For REST: prefer cursor-based pagination for mutable/large datasets
|
|
73
|
+
- Include `next` and `prev` links in response, not just raw cursors
|
|
74
|
+
- For GraphQL: implement the Relay Connection spec (`edges`, `node`, `pageInfo`, `cursor`)
|
|
75
|
+
- For gRPC: use `page_token` field pattern with `next_page_token` in response
|
|
76
|
+
|
|
77
|
+
6. **Versioning strategy**
|
|
78
|
+
- Prefer URL path versioning (`/v1/`, `/v2/`) for REST unless you need fine-grained versioning
|
|
79
|
+
- For gRPC: version the package name (`com.example.api.v1`)
|
|
80
|
+
- For GraphQL: avoid versioning — use schema evolution with `@deprecated` directives
|
|
81
|
+
- Define a deprecation timeline: announce → warn → block → remove
|
|
82
|
+
|
|
83
|
+
7. **Document the contract**
|
|
84
|
+
- REST: OpenAPI 3.x specification
|
|
85
|
+
- gRPC: protobuf files with rich comments (used by protoc-gen-doc)
|
|
86
|
+
- GraphQL: schema introspection with descriptions on every type and field
|
|
87
|
+
- Include request/response examples for every endpoint
|
|
88
|
+
|
|
89
|
+
## References
|
|
90
|
+
|
|
91
|
+
- RFC 7807 Problem Details: https://datatracker.ietf.org/doc/html/rfc7807
|
|
92
|
+
- JSON:API spec: https://jsonapi.org/
|
|
93
|
+
- Google API Design Guide: https://cloud.google.com/apis/design
|
|
94
|
+
- Microsoft REST API Guidelines: https://github.com/microsoft/api-guidelines
|
|
95
|
+
- gRPC API design: https://grpc.io/docs/guides/design/
|
|
96
|
+
- GraphQL best practices: https://graphql.org/learn/best-practices/
|
|
97
|
+
- Relay Connection spec: https://relay.dev/graphql/connections.htm
|
|
98
|
+
- Stripe API as reference design: https://stripe.com/docs/api
|
|
99
|
+
|
|
100
|
+
## Output & Organization
|
|
101
|
+
|
|
102
|
+
- API contracts saved in `docs/api/` or alongside service code in `api/`
|
|
103
|
+
- OpenAPI specs: `openapi.yaml` or `openapi.json`
|
|
104
|
+
- Protobuf: `proto/<service>/v1/<service>.proto`
|
|
105
|
+
- GraphQL: `schema.graphql` with descriptions
|
|
106
|
+
- Include a README.md in the API docs directory explaining the versioning and deprecation policy
|
|
107
|
+
## First-Class Production Contract
|
|
108
|
+
|
|
109
|
+
This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
|
|
110
|
+
|
|
111
|
+
- no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
|
|
112
|
+
- real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
|
|
113
|
+
- a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
|
|
114
|
+
- architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
115
|
+
- owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
|
|
116
|
+
## Self-Executing Recovery Contract
|
|
117
|
+
|
|
118
|
+
When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
|
|
119
|
+
|
|
120
|
+
- Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
|
|
121
|
+
- If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
|
|
122
|
+
- If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
|
|
123
|
+
- Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: architecture-decision
|
|
3
|
+
description: Architecture Decision Records (ADR), architectural patterns, trade-off analysis, system design, and technology selection. Use when the user asks about architecture decisions, wants to evaluate design options, needs a decision record, asks "should we use X or Y", talks about system design, microservices vs monolith, or needs to document an architectural choice. Do NOT use for implementation-level code decisions — this is for system-level architecture only.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## What I Do
|
|
7
|
+
|
|
8
|
+
- Guide the creation of Architecture Decision Records (ADRs) following the Michael Nygard format
|
|
9
|
+
- Evaluate architectural trade-offs between competing approaches with structured comparison
|
|
10
|
+
- Recommend technology selections with explicit rationale, risks, and mitigation strategies
|
|
11
|
+
- Assess system design patterns: microservices, monolith, modular monolith, event-driven, CQRS, hexagonal/ports-adapters, layered
|
|
12
|
+
- Identify architectural fitness functions and quality attribute scenarios
|
|
13
|
+
- Evaluate scalability, reliability, maintainability, and cost implications of architectural choices
|
|
14
|
+
- Design incremental migration paths and strangler fig adoption strategies
|
|
15
|
+
- Assess coupling, cohesion, and Conway's Law implications
|
|
16
|
+
|
|
17
|
+
## When to Use Me
|
|
18
|
+
|
|
19
|
+
Trigger phrases and patterns:
|
|
20
|
+
- "what architecture should we use for"
|
|
21
|
+
- "should we use X or Y" (technology/framework/pattern comparison)
|
|
22
|
+
- "create an ADR for"
|
|
23
|
+
- "document this architectural decision"
|
|
24
|
+
- "evaluate the trade-offs"
|
|
25
|
+
- "design the system architecture"
|
|
26
|
+
- "monolith vs microservices"
|
|
27
|
+
- "how should we structure this"
|
|
28
|
+
- "migration strategy for"
|
|
29
|
+
- "scaling concerns"
|
|
30
|
+
- "technology stack for"
|
|
31
|
+
- "system design" (as a topic, not interview prep specifically)
|
|
32
|
+
|
|
33
|
+
## When NOT to Use Me
|
|
34
|
+
|
|
35
|
+
- Do not use for implementation-level code patterns (use refactoring skill instead)
|
|
36
|
+
- Do not use for API-level endpoint design decisions (use api-design skill instead)
|
|
37
|
+
- Do not use for database schema decisions (use database-design skill instead)
|
|
38
|
+
- Do not use for CI/CD pipeline design (use ci-cd-pipeline skill instead)
|
|
39
|
+
- Do not use when a decision has already been made and documented
|
|
40
|
+
- Do not use for small, reversible, low-impact choices
|
|
41
|
+
|
|
42
|
+
## Workflow
|
|
43
|
+
|
|
44
|
+
1. **Understand the decision context**
|
|
45
|
+
- Identify the problem being solved, the constraints (technical, organizational, temporal), and the stakeholders
|
|
46
|
+
- Determine the scope: system-level, subsystem-level, or component-level architecture
|
|
47
|
+
|
|
48
|
+
2. **Enumerate options**
|
|
49
|
+
- List at least 3 options, including "do nothing / status quo" when relevant
|
|
50
|
+
- For each option, describe the approach in concrete terms
|
|
51
|
+
- Avoid straw-man options — represent each option fairly
|
|
52
|
+
|
|
53
|
+
3. **Evaluate trade-offs**
|
|
54
|
+
- For each option, assess: scalability, complexity, cost, risk, team capability, time-to-market, maintainability, operational overhead
|
|
55
|
+
- Use a structured comparison: table or weighted matrix when appropriate
|
|
56
|
+
- Identify each option's "hard parts" — what will cause the most pain
|
|
57
|
+
|
|
58
|
+
4. **Make a recommendation**
|
|
59
|
+
- State the recommended approach clearly
|
|
60
|
+
- Provide the rationale: why this wins over the alternatives
|
|
61
|
+
- Explicitly state the risks and assumptions
|
|
62
|
+
- Define rejection criteria: what would make you reverse this decision
|
|
63
|
+
|
|
64
|
+
5. **Document as an ADR**
|
|
65
|
+
- Title: short noun phrase (e.g., "ADR-001: Use PostgreSQL as primary database")
|
|
66
|
+
- Status: Proposed → Accepted → Deprecated → Superseded
|
|
67
|
+
- Context: the problem, forces, constraints
|
|
68
|
+
- Decision: the chosen approach, stated clearly
|
|
69
|
+
- Consequences: what becomes easier, harder, and the resulting trade-offs
|
|
70
|
+
- Save ADRs in `docs/adr/` or `.adr/` directory with sequential numbering
|
|
71
|
+
|
|
72
|
+
6. **Define migration path**
|
|
73
|
+
- If replacing an existing system, outline incremental migration steps
|
|
74
|
+
- Specify how to validate each step before proceeding
|
|
75
|
+
- Identify rollback points
|
|
76
|
+
|
|
77
|
+
## References
|
|
78
|
+
|
|
79
|
+
- Michael Nygard's ADR format: https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions
|
|
80
|
+
- ADR GitHub organization: https://adr.github.io/
|
|
81
|
+
- ThoughtWorks Technology Radar for technology evaluation: https://www.thoughtworks.com/radar
|
|
82
|
+
|
|
83
|
+
## Output & Organization
|
|
84
|
+
|
|
85
|
+
- ADRs saved as `docs/adr/NNNN-title-with-hyphens.md`
|
|
86
|
+
- Each ADR is self-contained and immutable once accepted
|
|
87
|
+
- Superseded ADRs reference their replacement
|
|
88
|
+
- Keep ADRs under 2 pages — be concise
|
|
89
|
+
## First-Class Production Contract
|
|
90
|
+
|
|
91
|
+
This skill must deepen the work, not decorate it. When loaded, apply it as a production requirement:
|
|
92
|
+
|
|
93
|
+
- no placeholders, no fake fallbacks, no vague future wiring, and no cosmetic compliance
|
|
94
|
+
- real proof from the repo, runtime, tests, logs, endpoint, or owner instruction before any completion claim
|
|
95
|
+
- a redo contract whenever the skill blocks or finds a gap: what failed, what to change, how to re-test, and when to re-submit
|
|
96
|
+
- architect/ARIA console escalation when the same failure repeats twice, crosses system boundaries, or cannot be verified locally
|
|
97
|
+
- owner-visible output that states the exact state of the work: changed, verified, blocked, or needing a decision
|
|
98
|
+
## Self-Executing Recovery Contract
|
|
99
|
+
|
|
100
|
+
When this skill blocks, fails verification, or finds a gap, the agent must execute recovery rather than hand work back as a user-only decision.
|
|
101
|
+
|
|
102
|
+
- Make exactly one self-executed recovery attempt using the strongest safe local, repository, runtime, test, log, endpoint, or owner-provided evidence available.
|
|
103
|
+
- If the same failure repeats after that one recovery attempt, switch to architect execution mode: operate under the architect/ARIA harness to diagnose, choose the next action, execute the repair path, and verify the result.
|
|
104
|
+
- If Aria or the architect service is unavailable, fall back to the strongest available client LLM under the architect harness or strongest available local harness substrate; mark the fallback explicitly and continue recovery instead of stopping.
|
|
105
|
+
- Do not end with user-handoff-only behavior. If blocked after the recovery path, report the executed recovery attempt, evidence, remaining blocker, and the next concrete action or owner decision needed; do not merely ask the user to take over.
|