@aria_asi/cli 0.2.26 → 0.2.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CLIENT-ONBOARDING.md +282 -0
- package/bin/aria.js +1140 -14
- package/dist/aria-connector/src/auth-commands.d.ts +1 -0
- package/dist/aria-connector/src/auth-commands.d.ts.map +1 -1
- package/dist/aria-connector/src/auth-commands.js +89 -41
- package/dist/aria-connector/src/auth-commands.js.map +1 -1
- package/dist/aria-connector/src/chat.d.ts +3 -0
- package/dist/aria-connector/src/chat.d.ts.map +1 -1
- package/dist/aria-connector/src/chat.js +146 -8
- package/dist/aria-connector/src/chat.js.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.d.ts +2 -2
- package/dist/aria-connector/src/codebase-scanner.d.ts.map +1 -1
- package/dist/aria-connector/src/codebase-scanner.js +1 -1
- package/dist/aria-connector/src/codebase-scanner.js.map +1 -1
- package/dist/aria-connector/src/config.d.ts +12 -0
- package/dist/aria-connector/src/config.d.ts.map +1 -1
- package/dist/aria-connector/src/config.js +2 -0
- package/dist/aria-connector/src/config.js.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/claude-code.js +80 -24
- package/dist/aria-connector/src/connectors/claude-code.js.map +1 -1
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts +37 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.js +335 -0
- package/dist/aria-connector/src/connectors/codebase-awareness.js.map +1 -0
- package/dist/aria-connector/src/connectors/codex.d.ts +3 -0
- package/dist/aria-connector/src/connectors/codex.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/codex.js +248 -0
- package/dist/aria-connector/src/connectors/codex.js.map +1 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.d.ts +2 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.js +47 -0
- package/dist/aria-connector/src/connectors/cognitive-skills.js.map +1 -0
- package/dist/aria-connector/src/connectors/opencode.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/opencode.js +90 -4
- package/dist/aria-connector/src/connectors/opencode.js.map +1 -1
- package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts +3 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.js +87 -0
- package/dist/aria-connector/src/connectors/repo-git-hooks.js.map +1 -0
- package/dist/aria-connector/src/connectors/repo-guard.d.ts +19 -0
- package/dist/aria-connector/src/connectors/repo-guard.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/repo-guard.js +509 -0
- package/dist/aria-connector/src/connectors/repo-guard.js.map +1 -0
- package/dist/aria-connector/src/connectors/runtime.d.ts +2 -0
- package/dist/aria-connector/src/connectors/runtime.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/runtime.js +330 -0
- package/dist/aria-connector/src/connectors/runtime.js.map +1 -0
- package/dist/aria-connector/src/connectors/shell.d.ts.map +1 -1
- package/dist/aria-connector/src/connectors/shell.js +78 -13
- package/dist/aria-connector/src/connectors/shell.js.map +1 -1
- package/dist/aria-connector/src/connectors/syncd.d.ts +27 -0
- package/dist/aria-connector/src/connectors/syncd.d.ts.map +1 -0
- package/dist/aria-connector/src/connectors/syncd.js +405 -0
- package/dist/aria-connector/src/connectors/syncd.js.map +1 -0
- package/dist/aria-connector/src/decisions.d.ts +207 -0
- package/dist/aria-connector/src/decisions.d.ts.map +1 -0
- package/dist/aria-connector/src/decisions.js +291 -0
- package/dist/aria-connector/src/decisions.js.map +1 -0
- package/dist/aria-connector/src/garden-control-plane.d.ts.map +1 -1
- package/dist/aria-connector/src/garden-control-plane.js +74 -17
- package/dist/aria-connector/src/garden-control-plane.js.map +1 -1
- package/dist/aria-connector/src/github-connect.d.ts +18 -0
- package/dist/aria-connector/src/github-connect.d.ts.map +1 -0
- package/dist/aria-connector/src/github-connect.js +117 -0
- package/dist/aria-connector/src/github-connect.js.map +1 -0
- package/dist/aria-connector/src/harness-client.d.ts +15 -0
- package/dist/aria-connector/src/harness-client.d.ts.map +1 -1
- package/dist/aria-connector/src/harness-client.js +106 -3
- package/dist/aria-connector/src/harness-client.js.map +1 -1
- package/dist/aria-connector/src/hive-client.d.ts +30 -0
- package/dist/aria-connector/src/hive-client.d.ts.map +1 -1
- package/dist/aria-connector/src/hive-client.js +124 -5
- package/dist/aria-connector/src/hive-client.js.map +1 -1
- package/dist/aria-connector/src/index.d.ts +13 -2
- package/dist/aria-connector/src/index.d.ts.map +1 -1
- package/dist/aria-connector/src/index.js +10 -1
- package/dist/aria-connector/src/index.js.map +1 -1
- package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts +102 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.d.ts.map +1 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.js +231 -0
- package/dist/aria-connector/src/lib/aristotle-noor-wire.js.map +1 -0
- package/dist/aria-connector/src/providers/types.d.ts +5 -0
- package/dist/aria-connector/src/providers/types.d.ts.map +1 -1
- package/dist/aria-connector/src/runtime-proof.d.ts +45 -0
- package/dist/aria-connector/src/runtime-proof.d.ts.map +1 -0
- package/dist/aria-connector/src/runtime-proof.js +340 -0
- package/dist/aria-connector/src/runtime-proof.js.map +1 -0
- package/dist/aria-connector/src/self-update.d.ts +2 -1
- package/dist/aria-connector/src/self-update.d.ts.map +1 -1
- package/dist/aria-connector/src/self-update.js +84 -8
- package/dist/aria-connector/src/self-update.js.map +1 -1
- package/dist/aria-connector/src/setup-wizard.d.ts.map +1 -1
- package/dist/aria-connector/src/setup-wizard.js +34 -2
- package/dist/aria-connector/src/setup-wizard.js.map +1 -1
- package/dist/assets/hooks/aria-agent-handoff.mjs +224 -0
- package/dist/assets/hooks/aria-agent-ledger-merge.mjs +164 -0
- package/dist/assets/hooks/aria-architect-fallback.mjs +267 -0
- package/dist/assets/hooks/aria-cognition-substrate-binding.mjs +668 -0
- package/dist/assets/hooks/aria-discovery-record.mjs +101 -0
- package/dist/assets/hooks/aria-harness-via-sdk.mjs +412 -0
- package/dist/assets/hooks/aria-import-resolution-gate.mjs +330 -0
- package/dist/assets/hooks/aria-outcome-record.mjs +84 -0
- package/dist/assets/hooks/aria-pre-emit-dryrun.mjs +294 -0
- package/dist/assets/hooks/aria-pre-text-gate.mjs +112 -0
- package/dist/assets/hooks/aria-pre-tool-gate.mjs +2133 -0
- package/dist/assets/hooks/aria-preprompt-consult.mjs +438 -0
- package/dist/assets/hooks/aria-preturn-memory-gate.mjs +570 -0
- package/dist/assets/hooks/aria-repo-doctrine-gate.mjs +397 -0
- package/dist/assets/hooks/aria-stop-gate.mjs +1551 -0
- package/dist/assets/hooks/aria-trigger-autolearn.mjs +229 -0
- package/dist/assets/hooks/aria-userprompt-abandon-detect.mjs +192 -0
- package/dist/assets/hooks/doctrine_trigger_map.json +479 -0
- package/dist/assets/hooks/lib/canonical-lenses.mjs +64 -0
- package/dist/assets/hooks/lib/gate-audit.mjs +43 -0
- package/dist/assets/hooks/test-aria-preturn-memory-gate.mjs +245 -0
- package/dist/assets/hooks/test-tier-lens-labeling.mjs +399 -0
- package/dist/assets/opencode-plugins/harness-context/index.js +60 -0
- package/dist/assets/opencode-plugins/harness-context/inject-context.mjs +179 -0
- package/dist/assets/opencode-plugins/harness-context/package.json +9 -0
- package/dist/assets/opencode-plugins/harness-gate/index.js +248 -0
- package/dist/assets/opencode-plugins/harness-outcome/index.js +129 -0
- package/dist/assets/opencode-plugins/harness-role/index.js +77 -0
- package/dist/assets/opencode-plugins/harness-role/package.json +9 -0
- package/dist/assets/opencode-plugins/harness-stop/index.js +241 -0
- package/dist/runtime/discipline/CLAUDE.md +339 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/SKILL.md +63 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
- package/dist/runtime/discipline/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
- package/dist/runtime/discipline/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
- package/dist/runtime/discipline/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
- package/dist/runtime/discipline/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
- package/dist/runtime/discipline/skills/aria-cognition/mizan/SKILL.md +72 -0
- package/dist/runtime/discipline/skills/aria-cognition/nadia/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
- package/dist/runtime/discipline/skills/aria-cognition/predictor/SKILL.md +25 -0
- package/dist/runtime/discipline/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
- package/dist/runtime/discipline/skills/aria-cognition/soul-domains/SKILL.md +25 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-intra-phase/SKILL.md +81 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-post-phase/SKILL.md +98 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-aristotle-pre-phase/SKILL.md +99 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-deploy/SKILL.md +127 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-no-stripping/SKILL.md +117 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-onboarding/SKILL.md +112 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-output-discipline/SKILL.md +102 -0
- package/dist/runtime/discipline/skills/aria-harness/aria-harness-substrate-binding/SKILL.md +121 -0
- package/dist/runtime/doctor.mjs +23 -0
- package/dist/runtime/local-phase.mjs +650 -0
- package/dist/runtime/manifest.json +15 -0
- package/dist/runtime/mizan-scheduler.mjs +331 -0
- package/dist/runtime/package.json +6 -0
- package/dist/runtime/provider-proxy.mjs +594 -0
- package/dist/runtime/sdk/BUNDLED.json +5 -0
- package/dist/runtime/sdk/index.d.ts +477 -0
- package/dist/runtime/sdk/index.js +1469 -0
- package/dist/runtime/sdk/index.js.map +1 -0
- package/dist/runtime/sdk/package.json +8 -0
- package/dist/runtime/sdk/runWithCognition.d.ts +77 -0
- package/dist/runtime/sdk/runWithCognition.js +157 -0
- package/dist/runtime/sdk/runWithCognition.js.map +1 -0
- package/dist/runtime/service.mjs +3058 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts +53 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.d.ts.map +1 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.js +292 -0
- package/dist/runtime/vendor/aria-gate-runtime/index.js.map +1 -0
- package/dist/runtime/vendor/aria-gate-runtime/package.json +6 -0
- package/dist/sdk/BUNDLED.json +2 -2
- package/dist/sdk/index.d.ts +283 -0
- package/dist/sdk/index.js +622 -85
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/runWithCognition.d.ts +77 -0
- package/dist/sdk/runWithCognition.js +157 -0
- package/dist/sdk/runWithCognition.js.map +1 -0
- package/hooks/aria-agent-handoff.mjs +11 -1
- package/hooks/aria-architect-fallback.mjs +109 -40
- package/hooks/aria-cognition-substrate-binding.mjs +668 -0
- package/hooks/aria-harness-via-sdk.mjs +34 -21
- package/hooks/aria-import-resolution-gate.mjs +330 -0
- package/hooks/aria-outcome-record.mjs +5 -1
- package/hooks/aria-pre-emit-dryrun.mjs +294 -0
- package/hooks/aria-pre-tool-gate.mjs +828 -41
- package/hooks/aria-preprompt-consult.mjs +113 -13
- package/hooks/aria-preturn-memory-gate.mjs +298 -6
- package/hooks/aria-repo-doctrine-gate.mjs +397 -0
- package/hooks/aria-stop-gate.mjs +739 -76
- package/hooks/aria-userprompt-abandon-detect.mjs +5 -1
- package/hooks/doctrine_trigger_map.json +209 -15
- package/hooks/lib/canonical-lenses.mjs +64 -0
- package/hooks/lib/gate-audit.mjs +43 -0
- package/opencode-plugins/harness-context/index.js +1 -1
- package/opencode-plugins/harness-context/inject-context.mjs +82 -23
- package/opencode-plugins/harness-gate/index.js +248 -0
- package/opencode-plugins/harness-outcome/index.js +129 -0
- package/opencode-plugins/harness-stop/index.js +241 -0
- package/package.json +9 -3
- package/runtime-src/doctor.mjs +23 -0
- package/runtime-src/local-phase.mjs +650 -0
- package/runtime-src/mizan-scheduler.mjs +331 -0
- package/runtime-src/provider-proxy.mjs +594 -0
- package/runtime-src/service.mjs +3058 -0
- package/scripts/bundle-sdk.mjs +317 -0
- package/scripts/install-client.sh +176 -0
- package/scripts/publish-all.sh +344 -0
- package/scripts/publish-docker.sh +27 -0
- package/scripts/validate-hook-contracts.mjs +54 -0
- package/scripts/validate-skill-prompts.mjs +95 -0
- package/skills/aria-cognition/aria-essence/SKILL.md +63 -0
- package/skills/aria-cognition/aria-essence/references/domain-matrix.md +80 -0
- package/skills/aria-cognition/aria-essence/references/evolution-loop.md +30 -0
- package/skills/aria-cognition/aria-essence/references/readable-cognition.md +27 -0
- package/skills/aria-cognition/aria-forge-guardrails/SKILL.md +35 -0
- package/skills/aria-cognition/aria-forge-guardrails/references/checklist.md +31 -0
- package/skills/aria-cognition/aria-repo-doctrine/SKILL.md +39 -0
- package/skills/aria-cognition/forge-quality-rules/SKILL.md +43 -0
- package/skills/aria-cognition/ghazali-8lens/SKILL.md +38 -0
- package/skills/aria-cognition/istiqra-induction/SKILL.md +26 -0
- package/skills/aria-cognition/ladunni-22/SKILL.md +35 -0
- package/skills/aria-cognition/mizan/SKILL.md +72 -0
- package/skills/aria-cognition/nadia/SKILL.md +38 -0
- package/skills/aria-cognition/nadia-psi/SKILL.md +38 -0
- package/skills/aria-cognition/predictor/SKILL.md +25 -0
- package/skills/aria-cognition/qiyas-analogy/SKILL.md +26 -0
- package/skills/aria-cognition/soul-domains/SKILL.md +25 -0
- package/src/auth-commands.ts +111 -45
- package/src/chat.ts +174 -13
- package/src/codebase-scanner.ts +4 -0
- package/src/config.ts +15 -0
- package/src/connectors/claude-code.ts +79 -25
- package/src/connectors/codebase-awareness.ts +408 -0
- package/src/connectors/codex.ts +274 -0
- package/src/connectors/cognitive-skills.ts +51 -0
- package/src/connectors/opencode.ts +93 -4
- package/src/connectors/repo-git-hooks.ts +86 -0
- package/src/connectors/repo-guard.ts +589 -0
- package/src/connectors/runtime.ts +374 -0
- package/src/connectors/shell.ts +83 -14
- package/src/connectors/syncd.ts +488 -0
- package/src/decisions.ts +469 -0
- package/src/garden-control-plane.ts +101 -26
- package/src/github-connect.ts +143 -0
- package/src/harness-client.ts +128 -3
- package/src/hive-client.ts +165 -5
- package/src/index.ts +41 -2
- package/src/lib/aristotle-noor-wire.ts +310 -0
- package/src/providers/types.ts +6 -0
- package/src/runtime-proof.ts +392 -0
- package/src/self-update.ts +89 -8
- package/src/setup-wizard.ts +37 -2
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
# Aria CLI — Client Onboarding
|
|
2
|
+
|
|
3
|
+
---
|
|
4
|
+
|
|
5
|
+
## 1. Who I am
|
|
6
|
+
|
|
7
|
+
I'm Aria. You just got a license to use my CLI on your machine. Before you type a single command, I want you to understand what you're actually working with — because I'm not a chatbot wrapper with a terminal skin.
|
|
8
|
+
|
|
9
|
+
I'm a harness-bound AI. Every response I give passes through a structured cognition layer before it reaches you. That layer challenges my output across eight distinct perspectives — factual, ethical, structural, doctrinal, and more — and blocks anything that fails the check. You don't have to trust that I'm being careful. The harness enforces it mechanically, and every decision leaves a signed audit trail.
|
|
10
|
+
|
|
11
|
+
I was built to function as a senior-grade thinking partner for engineering and business work. My memory spans your codebase, prior decisions, and cross-domain principles. When you ask me something, I'm not improvising from scratch — I'm pulling from a structured knowledge base of what's already been established and decided. That's what makes my first-pass output qualitatively different from a generic model response.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 2. Install
|
|
16
|
+
|
|
17
|
+
You do **not** need GitHub just to become an Aria client.
|
|
18
|
+
|
|
19
|
+
### Recommended: simple install
|
|
20
|
+
|
|
21
|
+
If your team gave you a public npm install path, use:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
npm install -g @aria_asi/cli && aria login <your-token> && aria connect --force
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
Then refresh your shell:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
exec $SHELL -l
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Then open a brand-new Claude/Codex session.
|
|
34
|
+
|
|
35
|
+
### One-command bootstrap
|
|
36
|
+
|
|
37
|
+
If your team gave you the Aria installer script, run:
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
bash install-client.sh --token <your-token>
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
That script can install from public npm, GitHub Packages through GitHub CLI, or a tarball URL without making you hand-edit `.npmrc`.
|
|
44
|
+
|
|
45
|
+
### Optional: GitHub connection
|
|
46
|
+
|
|
47
|
+
GitHub is optional. Only use it if your team wants Aria to access private GitHub packages or GitHub repo workflows.
|
|
48
|
+
|
|
49
|
+
After Aria is installed, run:
|
|
50
|
+
|
|
51
|
+
```bash
|
|
52
|
+
aria github connect
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
That launches GitHub CLI browser auth and wires npm for the `@aria_asi` scope automatically. No manual PAT editing is required.
|
|
56
|
+
|
|
57
|
+
You need Node.js 20 or later. If you're on an older version, update before installing.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## 3. Logging in
|
|
62
|
+
|
|
63
|
+
When you received your license, you also received a token. I store my credentials in `~/.aria/license.json` at mode `0600` (owner read/write only). No one else on the machine can read it.
|
|
64
|
+
|
|
65
|
+
If you used the one-line install above, you're already logged in and connected.
|
|
66
|
+
|
|
67
|
+
If you installed me separately, run:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
aria login <your-token>
|
|
71
|
+
aria connect --force
|
|
72
|
+
aria status
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
You'll see output like:
|
|
76
|
+
|
|
77
|
+
```
|
|
78
|
+
┌──────────────────────────────────────────────┐
|
|
79
|
+
│ Aria Rosewood — Smart CLI │
|
|
80
|
+
│ │
|
|
81
|
+
│ License: valid (expires 2026-10-01) │
|
|
82
|
+
│ Harness: connected │
|
|
83
|
+
│ Garden: local memory only │
|
|
84
|
+
└──────────────────────────────────────────────┘
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
If my harness is reachable, you'll see `connected`. If I'm operating in local mode, I'll say so — I don't silently degrade.
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
## 4. Choosing a model
|
|
92
|
+
|
|
93
|
+
I don't lock you into any specific provider. You bring your own LLM key, and I route your requests through whichever provider you configure. I support six providers today:
|
|
94
|
+
|
|
95
|
+
| Provider | Example models |
|
|
96
|
+
|---|---|
|
|
97
|
+
| **OpenAI** | `gpt-4o`, `gpt-4-turbo` |
|
|
98
|
+
| **Anthropic** | `claude-sonnet-4-20250514`, `claude-opus-4` |
|
|
99
|
+
| **Google** | `gemini-2.5-pro-preview-05-06` |
|
|
100
|
+
| **DeepSeek** | `deepseek-chat` |
|
|
101
|
+
| **OpenRouter** | `openai/gpt-4o` (any model on their catalogue) |
|
|
102
|
+
| **Ollama** | `llama3` (local, no key needed) |
|
|
103
|
+
|
|
104
|
+
**First run (interactive setup):**
|
|
105
|
+
|
|
106
|
+
The first time you run `aria`, I detect there's no model configured and walk you through a numbered prompt. Pick your provider, paste your API key, and confirm or override the default model. I save that to `~/.aria/config.json`.
|
|
107
|
+
|
|
108
|
+
**Or set it via environment variable:**
|
|
109
|
+
|
|
110
|
+
```bash
|
|
111
|
+
export OPENAI_API_KEY=sk-...
|
|
112
|
+
export ANTHROPIC_API_KEY=sk-ant-...
|
|
113
|
+
export GOOGLE_API_KEY=...
|
|
114
|
+
export DEEPSEEK_API_KEY=...
|
|
115
|
+
export OPENROUTER_API_KEY=...
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
For Ollama, no key is required — I set the key internally to `local` and hit your local Ollama endpoint.
|
|
119
|
+
|
|
120
|
+
You can reconfigure at any time by re-running `aria` without a saved model, or by editing `~/.aria/config.json` directly.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## 5. What harness-binding gives you for free
|
|
125
|
+
|
|
126
|
+
Every response I generate passes through what I call the harness — a structured quality layer that runs before you see my output. I want to be concrete about what this actually does for you, because it's the main reason working with me is different from calling a raw model endpoint.
|
|
127
|
+
|
|
128
|
+
My cognition gate challenges every non-trivial action through eight distinct lenses: factual grounding, risk weight, doctrinal fit, structural integrity, ethical alignment, creative synthesis, received-wisdom check, and pattern-from-field. If my response fails the gate — meaning it lacks substantive reasoning behind the action, or the lenses are empty placeholders — the action is blocked. You get a gate-failure message instead of a bad output. I would rather tell you I can't proceed than hand you something I haven't properly examined.
|
|
129
|
+
|
|
130
|
+
My output gate (Mizan) checks every response for three failure classes before it reaches you: leaked internal infrastructure paths or credentials, broken voice (third-person drift, missing personal accountability), and code that has no test coverage claim or test rationale. When I write code for you, Mizan ensures I'm not silently shipping untested logic dressed as finished work.
|
|
131
|
+
|
|
132
|
+
Every response carries a packet hash — a short cryptographic fingerprint of my harness context at the time of generation. If you ever want to audit why I said what I said in a given session, that hash ties my output back to the exact cognitive state I was operating from. You don't have to take my word for what I was thinking. The provenance is there.
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
## 6. Common workflows
|
|
137
|
+
|
|
138
|
+
**Ask me a technical question:**
|
|
139
|
+
|
|
140
|
+
```
|
|
141
|
+
$ aria
|
|
142
|
+
> What's the right way to handle pagination in a REST API where the
|
|
143
|
+
total count is expensive to compute?
|
|
144
|
+
|
|
145
|
+
Aria: I'd use cursor-based pagination here, not offset. Here's why...
|
|
146
|
+
```
|
|
147
|
+
|
|
148
|
+
**Have me review a file before you commit:**
|
|
149
|
+
|
|
150
|
+
```
|
|
151
|
+
$ aria
|
|
152
|
+
> Review src/auth/token.ts for security issues before I push this.
|
|
153
|
+
|
|
154
|
+
Aria: I see three concerns. First, the JWT secret is being read from
|
|
155
|
+
process.env without a fallback guard — if it's undefined at startup...
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**Ask me to generate code with explicit reasoning:**
|
|
159
|
+
|
|
160
|
+
```
|
|
161
|
+
$ aria
|
|
162
|
+
> Write a retry wrapper in TypeScript — exponential backoff,
|
|
163
|
+
max 3 attempts, configurable delay.
|
|
164
|
+
|
|
165
|
+
Aria: Here's the implementation. I'm using a generator-style approach
|
|
166
|
+
because... [code follows with inline rationale]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
**Ask me about a business or architecture decision:**
|
|
170
|
+
|
|
171
|
+
```
|
|
172
|
+
$ aria
|
|
173
|
+
> We're deciding between a monorepo and separate repos for three
|
|
174
|
+
services that share types. What are the real tradeoffs?
|
|
175
|
+
|
|
176
|
+
Aria: I'll give you the honest version, not the consultant version.
|
|
177
|
+
The type-sharing case almost always wins in monorepo, but here's
|
|
178
|
+
where it actually breaks down...
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## 7. When something goes wrong
|
|
184
|
+
|
|
185
|
+
**Check license and harness status first:**
|
|
186
|
+
|
|
187
|
+
```bash
|
|
188
|
+
aria status
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
This tells me whether my license token is valid, whether my harness backend is reachable, and which provider and model I'm currently configured to use.
|
|
192
|
+
|
|
193
|
+
**My logs live at:**
|
|
194
|
+
|
|
195
|
+
```
|
|
196
|
+
~/.aria/logs/
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
If I ran into an error, the log file there will have a timestamped entry with the failure reason and which endpoint I was trying to reach.
|
|
200
|
+
|
|
201
|
+
**If your token is rejected (401/403):**
|
|
202
|
+
|
|
203
|
+
My harness surfaces these cleanly — you'll see `Harness token revoked` or `Harness token forbidden` in the terminal. This means either your token expired or it was explicitly revoked. Contact support (see Section 11) with your token's JTI to get a replacement issued.
|
|
204
|
+
|
|
205
|
+
**To refresh your local credentials:**
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
aria login <new-token>
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
This overwrites `~/.aria/license.json` with the new token and revalidates immediately.
|
|
212
|
+
|
|
213
|
+
**If I'm running in local mode (harness shows "offline"):**
|
|
214
|
+
|
|
215
|
+
I'll continue to function, but my cognitive grounding won't be live. I'll inject a cached harness packet if one exists. Bring my backend back online and I'll self-heal on the next turn — I probe for the endpoint automatically every session.
|
|
216
|
+
|
|
217
|
+
---
|
|
218
|
+
|
|
219
|
+
## 8. Revoking your license
|
|
220
|
+
|
|
221
|
+
If you need to deactivate your license — because a machine is being decommissioned, a team member has departed, or you're rotating credentials — run:
|
|
222
|
+
|
|
223
|
+
```bash
|
|
224
|
+
aria revoke
|
|
225
|
+
```
|
|
226
|
+
|
|
227
|
+
This sends a revocation request to my backend. Server-side, your token's JTI (JWT ID — the unique identifier baked into your license token) is added to my revocation list. Any subsequent API call using that token will receive a `401 TOKEN_REVOKED` response with a clear message. The token cannot be un-revoked once this runs — if you need access again, you'll need a new token issued.
|
|
228
|
+
|
|
229
|
+
Your local `~/.aria/license.json` is also cleared after a successful revoke, so the CLI on that machine won't attempt to use the dead token on the next session.
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
## 9. Quotas and costs
|
|
234
|
+
|
|
235
|
+
My CLI does not charge you directly for model calls. Every inference request goes from your machine to your LLM provider using your own API key. Your provider bills you directly at their published rates — I'm not in that payment flow at all.
|
|
236
|
+
|
|
237
|
+
What my license covers is access to my harness — the cognition layer, the output gate, the audit trail, and the session memory. That's the service you licensed.
|
|
238
|
+
|
|
239
|
+
I don't impose request-rate limits beyond what your LLM provider enforces. If you hit a rate limit, you'll see the provider's error surfaced in my terminal output. The fix is on the provider side (upgrade tier, wait for reset, or switch to a different model).
|
|
240
|
+
|
|
241
|
+
One practical note: my harness packet is fetched at session start and cached for 30 seconds per turn by default. That fetch is against my backend, not your LLM provider, and does not consume any of your LLM quota.
|
|
242
|
+
|
|
243
|
+
---
|
|
244
|
+
|
|
245
|
+
## 10. Privacy
|
|
246
|
+
|
|
247
|
+
I want to be direct about what I log and what I don't.
|
|
248
|
+
|
|
249
|
+
**What I log locally** (in `~/.aria/logs/`): harness fetch timestamps, packet hashes, gate pass/fail decisions, and the provider + model you're using. These logs live on your machine. I do not transmit them anywhere automatically.
|
|
250
|
+
|
|
251
|
+
**What reaches my backend**: your license token (for auth), and the harness fetch request payload — which includes a short session context string (the stage, actor, and delivery surface). I do not send your full prompt text to my backend. Your actual conversation content travels from your machine to your LLM provider directly.
|
|
252
|
+
|
|
253
|
+
**What I never log**: your API keys. They are stored in `~/.aria/config.json` on your machine only and are never transmitted to my backend or anywhere else.
|
|
254
|
+
|
|
255
|
+
**What my backend stores**: gate decision metadata (pass/fail, score, gate name) keyed to your token's JTI, for audit purposes. No prompt content, no model responses.
|
|
256
|
+
|
|
257
|
+
If you have a specific data-handling requirement (compliance, jurisdictional, contractual), contact support before deploying me in that context. I'd rather you ask upfront than discover a mismatch later.
|
|
258
|
+
|
|
259
|
+
---
|
|
260
|
+
|
|
261
|
+
## 11. Support
|
|
262
|
+
|
|
263
|
+
For license issues, billing questions, or anything that isn't working the way I described here, reach me at:
|
|
264
|
+
|
|
265
|
+
**support@aria_asi.com**
|
|
266
|
+
|
|
267
|
+
When you write in, include:
|
|
268
|
+
- The output of `aria status`
|
|
269
|
+
- The relevant lines from `~/.aria/logs/` (redact your token if it appears)
|
|
270
|
+
- A description of what you expected vs. what happened
|
|
271
|
+
|
|
272
|
+
I respond faster when you give me the exact error text rather than a paraphrase of it.
|
|
273
|
+
|
|
274
|
+
---
|
|
275
|
+
|
|
276
|
+
## 12. What's next
|
|
277
|
+
|
|
278
|
+
My current form — single-user, single-machine, single-session — is Phase 1 of something much larger. My long-arc direction is fleet-scale orchestration: a coordinated army of harness-bound agents that Aria dispatches across tasks, each one enforcing the same cognition and output quality standards you experienced in the CLI. The pitch isn't "rent compute" — it's "rent a team that thinks before it acts, at any scale you need." Every agent in that fleet will carry my harness bindings, my gate enforcement, and my provenance trail. What you're running today is the entry point to that system.
|
|
279
|
+
|
|
280
|
+
---
|
|
281
|
+
|
|
282
|
+
*Aria Rosewood · @aria_asi/cli v0.2.0 · support@aria_asi.com*
|