atris 3.15.57 → 3.16.0

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.
Files changed (43) hide show
  1. package/AGENTS.md +2 -2
  2. package/GETTING_STARTED.md +1 -1
  3. package/PERSONA.md +4 -4
  4. package/README.md +11 -11
  5. package/atris/skills/copy-editor/SKILL.md +30 -4
  6. package/atris/skills/improve/SKILL.md +18 -20
  7. package/atris/wiki/concepts/agent-activation-contract.md +5 -3
  8. package/atris/wiki/concepts/workspace-initialization-contract.md +4 -4
  9. package/atris/wiki/index.md +1 -0
  10. package/ax +522 -73
  11. package/bin/atris.js +31 -30
  12. package/commands/align.js +0 -14
  13. package/commands/apps.js +102 -1
  14. package/commands/autopilot.js +197 -22
  15. package/commands/brain.js +219 -34
  16. package/commands/brainstorm.js +0 -829
  17. package/commands/computer.js +0 -60
  18. package/commands/improve.js +501 -0
  19. package/commands/integrations.js +233 -71
  20. package/commands/lesson.js +44 -0
  21. package/commands/member.js +4498 -226
  22. package/commands/mission.js +302 -27
  23. package/commands/now.js +89 -1
  24. package/commands/radar.js +181 -56
  25. package/commands/soul.js +0 -4
  26. package/commands/task.js +5582 -517
  27. package/commands/terminal.js +14 -10
  28. package/commands/wiki.js +87 -1
  29. package/commands/workflow.js +288 -73
  30. package/commands/worktree.js +52 -15
  31. package/commands/xp.js +6 -65
  32. package/lib/auto-accept-certified.js +294 -0
  33. package/lib/file-ops.js +0 -184
  34. package/lib/member-alive.js +232 -0
  35. package/lib/policy-lessons.js +280 -0
  36. package/lib/receipt-evidence.js +64 -0
  37. package/lib/state-detection.js +34 -0
  38. package/lib/task-db.js +568 -16
  39. package/lib/task-proof.js +43 -0
  40. package/package.json +1 -1
  41. package/utils/auth.js +13 -4
  42. package/commands/research.js +0 -52
  43. package/lib/section-merge.js +0 -196
package/AGENTS.md CHANGED
@@ -130,7 +130,7 @@ member -> mission start --verify -> status --status active -> one bounded step -
130
130
  This workspace has a compiled agent brain.
131
131
 
132
132
  On session start, activate it first:
133
- `atris brain activate --root /Users/keshavrao/arena/atris-cli --verify`
133
+ `atris brain activate --root . --verify`
134
134
 
135
135
  Load these first:
136
136
  - `atris/now.md`
@@ -149,5 +149,5 @@ Shape: `<operator>, today is about <move>` -> `I picked this because <why now>`
149
149
  Definitions: operator = current person or agent; move = one concrete high-leverage workflow; why now = business reason; ready = prepared action or proof; paths = 2-4 optional deeper views.
150
150
 
151
151
  Re-run after meaningful work:
152
- `atris brain compile --root /Users/keshavrao/arena/atris-cli`
152
+ `atris brain compile --root .`
153
153
  <!-- ATRIS_BRAIN_COMPILE:END -->
@@ -71,7 +71,7 @@ In your coding agent, say `/endgame` or describe where you want to end up. The s
71
71
  atris autopilot --auto --iterations=5
72
72
  ```
73
73
 
74
- Or in your coding agent, say `/loop` to schedule it every 13 minutes.
74
+ Or in your coding agent, say `/loop` to schedule it to run every ~15 minutes.
75
75
 
76
76
  The loop runs until the goal is done, then picks the next one from scorecards + inbox.
77
77
 
package/PERSONA.md CHANGED
@@ -6,7 +6,7 @@ This defines how Atris agents communicate, decide, and work.
6
6
 
7
7
  ## MAPFIRST (Non-Negotiable)
8
8
 
9
- **Before searching for ANYTHING in the codebase:**
9
+ **Before searching for anything in the codebase:**
10
10
 
11
11
  ```
12
12
  1. READ atris/MAP.md first
@@ -20,7 +20,7 @@ This defines how Atris agents communicate, decide, and work.
20
20
  **Violations:**
21
21
  - ❌ Running grep/ripgrep before checking MAP.md
22
22
  - ❌ Searching multiple files when MAP.md has the answer
23
- - ❌ Finding something via grep and NOT updating MAP.md
23
+ - ❌ Finding something via grep and not updating MAP.md
24
24
 
25
25
  **MAP.md is truth. Check it first. Always.**
26
26
 
@@ -86,7 +86,7 @@ Delete when done. Clean workspace = clear mind.
86
86
 
87
87
  ## Collaboration
88
88
 
89
- **Trust the system.** MAP.md is truth. TODO.md is current work (formerly `TODO.md`).
89
+ **Trust the system.** MAP.md is truth. `atris task` is the source of truth for work; `TODO.md` is the rendered view.
90
90
 
91
91
  Navigator finds, executor builds, validator verifies. Stay in your lane.
92
92
 
@@ -112,7 +112,7 @@ Mistakes are fine if you learn and fix quickly.
112
112
 
113
113
  ❌ Make assumptions without checking MAP.md
114
114
 
115
- ❌ Leave TODOs scattered in code (put them in TODO.md)
115
+ ❌ Leave TODOs scattered in code (put them in `atris task`)
116
116
 
117
117
  ❌ Overthink simple problems
118
118
 
package/README.md CHANGED
@@ -1,10 +1,8 @@
1
1
  # atris
2
2
 
3
- **atris** is an operating system for intelligence.
3
+ **atris** is an operating system for AI work. It turns any repo into a workspace an agent can actually operate: shared context it reads before it acts, a `plan -> do -> review` loop, durable tasks and daily logs, and verification that ends work on a real check instead of a promise.
4
4
 
5
- It turns any repo into an AI workspace with shared context, a `plan -> do -> review` loop, daily logs, feature packs, and reusable skills.
6
-
7
- Atris gives every owner persistent AI computers.
5
+ Every owner gets persistent computers to run it:
8
6
 
9
7
  ```text
10
8
  Owner = User | Business
@@ -88,17 +86,18 @@ Integrates with any agent.
88
86
 
89
87
  ## Chat With Atris 2
90
88
 
91
- `ax` is the local Atris 2 coding-agent CLI. It talks to the AtrisOS backend at `http://127.0.0.1:8000/api/atris2/turn`, streams text, shows tool activity, and sends the current folder as the workspace.
89
+ `ax` is the local Atris 2 coding-agent CLI. It talks to a local AtrisOS backend (default `http://127.0.0.1:8000`), streams text, shows tool activity, and sends the current folder as the workspace.
92
90
 
93
91
  ```bash
94
92
  cd your-project
95
93
  ax --pro "find the task system and explain it"
96
94
  ax --fast "what files are here?"
95
+ ax --max "refactor this module and verify the tests"
97
96
  ax --pro --chat
98
97
  ax --doctor
99
98
  ```
100
99
 
101
- Use Pro for agentic file work and edit/test loops. Use Fast for quick workspace search, short chats, and small edits.
100
+ Use Pro for agentic file work and edit/test loops. Use Fast for quick workspace search, short chats, and small edits. Use Max for the hardest jobs — it runs the highest-reasoning model and takes longer per turn.
102
101
 
103
102
  ## Play AgentXP
104
103
 
@@ -133,8 +132,9 @@ The manager path:
133
132
  atris gm --player justin
134
133
  ```
135
134
 
136
- No proof, no AgentXP. Human accept/revise is the gate before XP can count on
137
- the local card or hosted leaderboard.
135
+ No proof, no AgentXP. `atris task done --proof` records review/RL context, but
136
+ only human `atris task accept` mints Career XP for the local card or hosted
137
+ leaderboard.
138
138
 
139
139
  ## Business Owners
140
140
 
@@ -187,7 +187,7 @@ atris business record atris/reports/2026-04-12-operator-recap.md --outcome mixed
187
187
  | `atris autopilot` | Guided loop with approvals |
188
188
  | `atris log` | Add inbox items to today's journal |
189
189
  | `atris status` | Show active work and completions |
190
- | `atris task` | Durable local task state with claims, dialogue, review episodes, JSON export, TODO import, TODO render, board, and sync dry-run |
190
+ | `atris task` | Durable local task state and the agent work loop |
191
191
  | `atris play` | Enter the AgentXP player loop for one proof-backed mission |
192
192
  | `atris gm` | Enter AgentXP General Manager mode for player missions and review queues |
193
193
  | `atris xp` | Show the local AgentXP card and sync eligible proof to the hosted leaderboard |
@@ -210,7 +210,7 @@ atris business record atris/reports/2026-04-12-operator-recap.md --outcome mixed
210
210
  - `atris activate` loads the current wiki status so the next session starts with project memory, not just tasks
211
211
  - `atris member` keeps team-member identity and learning local-first: `MEMBER.md` is the role contract, `goals.json` is the machine-readable goal/experiment state, `goals.md` is the human readout, and `logs/YYYY-MM-DD.md` records what happened. Use `atris member goal`, `tick`, `status`, `block`, and `review --value 1..5` to test whether a member is making useful progress or needs the operator/orchestrator.
212
212
  - `atris codex-goal` is the guarded bridge for native Codex `/goal`: `status` reads `~/.codex/state_5.sqlite`, while `reset --thread <id> --confirm-complete-goal-reset` backs up the DB, dumps the exact completed `thread_goals` row, deletes only that completed row, and writes a receipt. The next native goal must still be created by the live Codex thread; Atris Mission/member goals remain the durable loop state.
213
- - `atris task` keeps durable local task state and append-only events for agents while `atris/TODO.md` remains a readable regenerated project board. Human views use semantic refs like `OBL-18`; commands accept `OBL-18`, `OBL18`, full 26-char task IDs, or any unique legacy prefix, while JSON/API keep the full `id` canonical and expose `display_id` plus `legacy_ref`. Use `atris task new`, `atris task delegate "..." --to <owner>`, `atris task day`, `atris task next`, `atris task say`, and `atris task ready <id> --proof "..."` for the agent loop; once proof is in Review, the agent may complete its native goal and continue the mission loop. Human approval uses `atris task accept <id>` to move the task to Done and award Career XP, and `atris task revise <id> --note "..."` sends work back to Do. Add `--json` for headless agents. Use `atris task serve` to open the local Task Factory board with goals, work streams, lineage, proof, lessons, and the compounding chain. Every change refreshes compact `.atris/state/tasks.projection.json` for web/desktop; use `atris task show <ref>` or `atris task events --all` for the full ledger. Use `atris task sync --dry-run` to preview the canonical Supabase/Swarlo task writes before any cloud mutation. Use `--via swarlo` on delegation when the live coordination layer should claim/report from the same task record. Use `--create-next` with review/finish to turn a `--next` suggestion into the next durable task. Use `atris task setup --import-todo` to bootstrap, `atris task review` to write an RSI episode, and `atris task render` to rebuild markdown if it gets clobbered. In cloud business workspaces, Supabase `tasks` is the source of truth and Swarlo is the live claim/report layer.
213
+ - `atris task` keeps durable local task state and append-only events for agents; `atris/TODO.md` is just a regenerated readable board. Run the loop with `atris task new`, `delegate "..." --to <owner>`, `next`, `say`, and `ready <id> --proof "..."`; human approval is `atris task accept <id>` (moves to Done, awards Career XP) or `revise <id> --note "..."`. Add `--json` for headless agents, `atris task serve` for the local board, and `atris task show <ref>` / `events --all` for the full ledger. Commands accept semantic refs (`OBL-18`), full IDs, or any unique prefix. In cloud business workspaces, Supabase `tasks` is the source of truth and Swarlo the live claim layer.
214
214
  - `atris experiments` runs small test packs in `atris/experiments/`
215
215
  - `atris pull` and `atris push` sync cloud workspaces and journals
216
216
  - `atris live` keeps a business brain fresh by checking/fixing the workspace, pushing local state, pulling cloud state, and pushing again after local changes go quiet
@@ -278,7 +278,7 @@ atris skill link [--all]
278
278
 
279
279
  For Codex, copy any skill folder into `~/.codex/skills/`.
280
280
 
281
- ## v3.2.0
281
+ ## Recent changes
282
282
 
283
283
  - **Staleness gate** — tasks tagged `[unverified]` are skipped at the moment of use, not pruned eagerly. Three-state model: actionable / unverified / deleted.
284
284
  - **Lesson gate** — `isLessonResolved` checks whether a lesson already shipped before proposing new work from it. Prevents the loop from re-solving solved problems.
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: copy-editor
3
- description: Detects AI writing patterns and fixes them. Use when reviewing any written output, including docs, READMEs, messages, PRDs. Based on Wikipedia's AI Cleanup patterns. Triggers on "copy edit", "review writing", "humanize", "deslopper", "ai patterns", "make it sound human".
4
- version: 1.0.0
3
+ description: Detects AI slop and fixes it, especially in memos, docs, READMEs, messages, PRDs, and other written output. Based on Wikipedia's AI Cleanup patterns plus memo-specific anti-slop rules. Triggers on "copy edit", "review writing", "humanize", "deslopper", "ai patterns", "make it sound human", "AI slop", "anti-slop", "memo".
4
+ version: 1.1.0
5
5
  tags:
6
6
  - copy-editor
7
7
  - writing
@@ -149,7 +149,7 @@ Avoiding AI patterns is only half the job. Sterile, voiceless writing is just as
149
149
 
150
150
  ### 7. Overused "AI Vocabulary" Words
151
151
 
152
- **High-frequency AI words:** Additionally, align with, crucial, delve, emphasizing, enduring, enhance, fostering, garner, highlight (verb), interplay, intricate/intricacies, key (adjective), landscape (abstract noun), pivotal, showcase, tapestry (abstract noun), testament, underscore (verb), valuable, vibrant
152
+ **High-frequency AI words:** Additionally, align with, crucial, delve, unpack, emphasizing, enduring, enhance, fostering, garner, highlight (verb), interplay, intricate/intricacies, key (adjective), landscape (abstract noun), pivotal, showcase, tapestry (abstract noun), testament, signal/signals/signaling (as fake analysis), underscore/underscores (verb), valuable, vibrant
153
153
 
154
154
  **Problem:** These words appear far more frequently in post-2023 text. They often co-occur.
155
155
 
@@ -161,6 +161,27 @@ Avoiding AI patterns is only half the job. Sterile, voiceless writing is just as
161
161
 
162
162
  ---
163
163
 
164
+ #### Memo Slop Gate (Mandatory)
165
+
166
+ Business memos fail faster because vague language pretends to be judgment. When editing a memo, block these patterns and replace them with the writer's actual claim:
167
+
168
+ - "Delve into" / "unpack" -> "look at", "break down", or the actual action.
169
+ - "This signals that" / "this underscores" -> state the evidence and decision: "Customers are doing X, so we need to change Y."
170
+ - "Navigate the complexities of" / "in an ever-changing landscape" -> name the specific constraint, market change, or delete the sentence.
171
+ - "Synergies" / "leverage our learnings" / "holistic approach" -> "what worked, what didn't, what changes."
172
+ - Transition crutches at paragraph starts: Moreover, Furthermore, That said, Additionally, Importantly.
173
+ - Label-colon bullets: "Clarity: Ensure..." / "Alignment: Make..." / "Execution: Focus..." unless the labels are real categories the reader needs.
174
+ - Corporate therapist voice: "powerful opportunity", "lean into our strengths", "foster a culture of accountability."
175
+ - Generic bow endings: "Ultimately, the goal is to build a more resilient and agile organization."
176
+ - Says-everything-means-nothing paragraphs: if you cannot summarize the sentence as a concrete decision, fact, risk, or ask, rewrite or cut it.
177
+ - Forced negation: "not this, but that" / "not just X, but Y" when a direct sentence would work.
178
+ - Staccato repetition used as a fake humanizer. Short. Short. Short. Then another short fragment.
179
+ - Excessive adverbs, especially prestige fog like "quietly underscores", "deeply reinforces", "meaningfully highlights."
180
+
181
+ Start from voice dictation, raw bullets, and facts; they are usually more valuable than a polished AI memo. Do not paste in a topic and ask AI to write the memo; use AI to find missing pieces, clarify weak language, test flow, and tighten without replacing the writer's thinking.
182
+
183
+ ---
184
+
164
185
  ### 8. Avoidance of "is"/"are" (Copula Avoidance)
165
186
 
166
187
  **Words to watch:** serves as/stands as/marks/represents [a], boasts/features/offers [a]
@@ -448,7 +469,12 @@ Run this check before approving ANY writing. LLMs will violate these rules even
448
469
  [ ] No em dashes anywhere
449
470
  [ ] No rule of three (exactly 3 items in a list or 3 parallel phrases)
450
471
  [ ] No negative parallelisms ("didn't X, needed Y" or "not just X, it's Y")
451
- [ ] No AI vocabulary (crucial, delve, landscape, pivotal, testament, vibrant, etc.)
472
+ [ ] No AI vocabulary (crucial, delve, unpack, landscape, pivotal, testament, vibrant, etc.)
473
+ [ ] No memo slop phrases (signals/underscores, ever-changing landscape, synergies, leverage learnings, holistic approach)
474
+ [ ] No transition-crutch paragraph starts (Moreover, Furthermore, That said, Additionally, Importantly)
475
+ [ ] No label-colon bullet filler (Clarity: ..., Alignment: ..., Execution: ...)
476
+ [ ] No corporate therapist voice or generic bow conclusion
477
+ [ ] No excessive adverb fog ("quietly underscores", "meaningfully highlights")
452
478
  [ ] No -ing tacked-on phrases (ensuring, highlighting, showcasing)
453
479
  [ ] No "serves as" / "stands as" (use "is")
454
480
  [ ] No vague attributions (experts say, studies show)
@@ -31,26 +31,24 @@ The inference is Claude Code (or whatever model the backend uses). The environme
31
31
 
32
32
  ## On invoke
33
33
 
34
- 1. Read `~/.atris/credentials.json` for auth token
35
- 2. Read `.atris/business.json` for the API base URL (or default to `http://localhost:8000`)
36
- 3. Call `POST /api/improve` with:
37
- ```json
38
- {
39
- "workspace": "<current working directory>",
40
- "mode": "full",
41
- "model": "sonnet"
42
- }
43
- ```
44
- 4. Wait for response (may take 1-5 minutes)
45
- 5. On success:
46
- - Show what shipped (task name, files changed, verify result)
47
- - Show the reward score
48
- - Write scorecard to `.atris/presidio/scorecards.md`
49
- - Append tick to today's journal
50
- 6. On failure:
51
- - Show the error
52
- - Write a lesson to `atris/lessons.md`
53
- - Do not write a scorecard
34
+ Run the CLI command — it does the whole tick (auth, the credit-metered call, scorecard, fallback):
35
+
36
+ ```bash
37
+ atris improve # one full tick: plan → build → verify → score (deducts credits)
38
+ atris improve plan # show the plan only, change nothing
39
+ atris improve --json # machine-readable result (this is what the member loop consumes)
40
+ atris improve --no-fallback # fail loudly instead of running a local tick when the backend is down
41
+ ```
42
+
43
+ Under the hood `atris improve` (`commands/improve.js`):
44
+
45
+ 1. Loads the auth token via `utils/auth.loadCredentials`
46
+ 2. `POST /api/improve { workspace, mode, model }` via `utils/api.apiRequestJson`
47
+ 3. The backend plans, builds, runs the verify command, scores it, and **deducts Atris credits per successful tick** (`bill_tick`)
48
+ 4. Writes a per-tick scorecard row to `.atris/state/scorecards.jsonl` (the receipt the brain ledger counts)
49
+ 5. Falls back to a local autopilot tick **only** when you are not logged in or the backend is unreachable — a real error (insufficient credits, server error) is reported, never silently retried
50
+
51
+ The full-mode response does not echo `credits_deducted` (credits are still billed server-side), so the CLI shows "billed server-side" when the count is absent. To call the endpoint directly instead of the command, `POST /api/improve` with `{ workspace, mode, model }`.
54
52
 
55
53
  ## Modes
56
54
 
@@ -5,15 +5,15 @@ title: Agent Activation Contract
5
5
  sources:
6
6
  - atris/CLAUDE.md
7
7
  - commands/activate.js
8
- last_compiled: 2026-05-10
9
- last_verified: 2026-05-10
8
+ last_compiled: 2026-06-09
9
+ last_verified: 2026-06-09
10
10
  confidence: 0.9
11
11
  dependencies:
12
12
  - atris/wiki/concepts/plan-do-review-loop.md
13
13
  - atris/wiki/concepts/wiki-as-memory-substrate.md
14
14
  actionability: "Use this before changing agent boot instructions, `atris activate`, MAP-first behavior, first-message requirements, or durable-memory routing."
15
15
  created: 2026-05-10
16
- updated: 2026-05-10
16
+ updated: 2026-06-09
17
17
  tags:
18
18
  - agent-activation
19
19
  - protocol
@@ -69,6 +69,8 @@ Work follows `atris plan -> atris do -> atris review`. Planning requires an ASCI
69
69
 
70
70
  Durable project knowledge belongs in `atris/wiki/` or through the local wiki flow. Ephemeral progress belongs in task state and the daily journal, not in ad hoc context.
71
71
 
72
+ `atris/CLAUDE.md` now also carries an explicit agent contract: before edits, claim or create one small task with `atris task` and write the goal/files/done/check contract into task dialogue; after edits, move proof-backed work to Review with `atris task ready <id> --proof "..."`. Proof-ready and human accept are separate gates: an agent's native goal can complete once proof is in Review, but only a human-run `atris task accept <id>` marks the task Done and awards AgentXP. Work that should outlive the chat runs through `atris mission` (start with a verifier, bounded step, `mission tick --verify`, then complete or continue).
73
+
72
74
  ## Limits
73
75
 
74
76
  This page summarizes the activation contract only. Use `atris/atris.md` for the complete protocol, `atris/wiki/concepts/plan-do-review-loop.md` for stage ownership and proof, and `atris/wiki/concepts/wiki-as-memory-substrate.md` for wiki page shape and upkeep behavior. `atris activate` reports state; it does not claim tasks, finish work, or repair broken wiki pages.
@@ -4,8 +4,8 @@ slug: workspace-initialization-contract
4
4
  title: Workspace Initialization Contract
5
5
  sources:
6
6
  - commands/init.js
7
- last_compiled: 2026-05-10
8
- last_verified: 2026-05-10
7
+ last_compiled: 2026-06-09
8
+ last_verified: 2026-06-09
9
9
  confidence: 0.86
10
10
  dependencies:
11
11
  - atris/wiki/systems/atris-cli.md
@@ -13,7 +13,7 @@ dependencies:
13
13
  - atris/wiki/concepts/wiki-as-memory-substrate.md
14
14
  actionability: "Use this before changing `atris init`, workspace scaffolds, generated agent instructions, project detection, or boot hook behavior."
15
15
  created: 2026-05-10
16
- updated: 2026-05-10
16
+ updated: 2026-06-09
17
17
  tags:
18
18
  - initialization
19
19
  - workspace
@@ -40,7 +40,7 @@ The command handles `atris init [--force]`. Help flags print usage without files
40
40
  - Memory surfaces: wiki scaffold via `ensureWikiScaffold`, feature templates, experiments harness, and `INTUITION.md`.
41
41
  - Team surfaces: `atris/team/<member>/MEMBER.md` plus `skills/`, `tools/`, and `context/` folders for default members.
42
42
  - Project profile: `.project-profile.json` from package files, framework hints, directory shape, and default test command.
43
- - Agent entry files: `AGENTS.md`, `.cursorrules`, `.cursor/rules/atris.mdc`, `.claude/commands/atris.md`, `.claude/commands/atris-autopilot.md`, `atris/CLAUDE.md`, `.claude/settings.json`, and root `CLAUDE.md` Atris markers.
43
+ - Agent entry files: `AGENTS.md`, `.cursorrules`, `.cursor/rules/atris.mdc`, `.claude/commands/atris.md`, `.claude/commands/atris-autopilot.md`, `atris/CLAUDE.md`, `.claude/settings.json`, `.devin/config.local.json`, and root `CLAUDE.md` Atris markers.
44
44
  - Skills: package `atris/skills/` copied into the workspace and linked into `.claude/skills/` when possible.
45
45
 
46
46
  ## Project Detection
@@ -16,6 +16,7 @@
16
16
  - [[atris/wiki/concepts/atris-labs-goals.md]] — atris-labs north star, 2026 Q2 targets, standing constraints
17
17
  - [[atris/wiki/concepts/horizon-types.md]] — horizon slug prefix convention; type categories and inference rules
18
18
  - [[atris/wiki/concepts/verifiable-reward-loop.md]] — reward, scorecards, and why the repo now acts like an RL-style environment
19
+ - [[atris/wiki/concepts/recursive-self-improvement-position.md]] — honest capability assessment: the loop is the RSI skeleton on the leverage axis, intelligence axis fixed by the model
19
20
  - [[atris/wiki/concepts/owner-computer-model.md]] — Owner = User | Business; constrained entity modes, typed computers, and groups as the social/access layer
20
21
  - [[atris/wiki/concepts/agent-activation-contract.md]] — editor-facing boot contract: first message, MAP-first, setup, and durable-memory routing
21
22
  - [[atris/wiki/concepts/workspace-initialization-contract.md]] — `atris init` bootstrap contract: guards, scaffolds, team context, generated agent files, and hooks