atris 3.15.13 → 3.15.22

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 (93) hide show
  1. package/AGENTS.md +84 -8
  2. package/README.md +5 -1
  3. package/atris/AGENTS.md +46 -1
  4. package/atris/CLAUDE.md +36 -1
  5. package/atris/GEMINI.md +14 -1
  6. package/atris/atris.md +12 -1
  7. package/atris/atrisDev.md +3 -2
  8. package/atris/context/README.md +11 -0
  9. package/atris/features/company-brain-sync/validate.md +5 -5
  10. package/atris/learnings.jsonl +1 -0
  11. package/atris/policies/atris-design.md +2 -0
  12. package/atris/skills/aeo/SKILL.md +2 -2
  13. package/atris/skills/atris/SKILL.md +15 -62
  14. package/atris/skills/design/SKILL.md +2 -0
  15. package/atris/skills/imessage/SKILL.md +19 -2
  16. package/atris/skills/loop/SKILL.md +6 -5
  17. package/atris/skills/magic-inbox/SKILL.md +1 -1
  18. package/atris/team/_template/MEMBER.md +23 -1
  19. package/atris/team/brainstormer/START_HERE.md +6 -0
  20. package/atris/team/executor/MEMBER.md +13 -0
  21. package/atris/team/executor/START_HERE.md +6 -0
  22. package/atris/team/launcher/START_HERE.md +6 -0
  23. package/atris/team/mission-lead/MEMBER.md +39 -0
  24. package/atris/team/mission-lead/MISSION.md +33 -0
  25. package/atris/team/mission-lead/START_HERE.md +6 -0
  26. package/atris/team/navigator/MEMBER.md +11 -0
  27. package/atris/team/navigator/START_HERE.md +6 -0
  28. package/atris/team/opus-overnight/MEMBER.md +39 -0
  29. package/atris/team/opus-overnight/MISSION.md +61 -0
  30. package/atris/team/opus-overnight/START_HERE.md +6 -0
  31. package/atris/team/opus-overnight/STEERING.md +35 -0
  32. package/atris/team/researcher/START_HERE.md +6 -0
  33. package/atris/team/validator/MEMBER.md +26 -6
  34. package/atris/team/validator/START_HERE.md +6 -0
  35. package/atris/wiki/concepts/agent-activation-contract.md +79 -0
  36. package/atris/wiki/concepts/workspace-initialization-contract.md +73 -0
  37. package/atris/wiki/index.md +27 -0
  38. package/atris/wiki/sources/atris-labs-2026-05-10.txt +17 -0
  39. package/atris/wiki/sources/atris-labs-goals-2026-05-10.txt +15 -0
  40. package/atris/wiki/sources/atrisos-generative-ui-product-surface-2026-05-10.txt +10 -0
  41. package/atris/wiki/sources/jack-dorsey-2026-05-10.txt +12 -0
  42. package/atris.md +49 -13
  43. package/bin/atris.js +660 -22
  44. package/commands/activate.js +12 -3
  45. package/commands/aeo.js +1 -1
  46. package/commands/align.js +10 -10
  47. package/commands/analytics.js +9 -4
  48. package/commands/app.js +2 -0
  49. package/commands/apps.js +276 -0
  50. package/commands/auth.js +1 -1
  51. package/commands/autopilot.js +74 -5
  52. package/commands/brain.js +536 -61
  53. package/commands/brainstorm.js +12 -12
  54. package/commands/business-sync.js +142 -24
  55. package/commands/clean.js +9 -6
  56. package/commands/codex-goal.js +311 -0
  57. package/commands/errors.js +11 -1
  58. package/commands/feedback.js +55 -17
  59. package/commands/fork.js +2 -2
  60. package/commands/gm.js +376 -0
  61. package/commands/init.js +80 -3
  62. package/commands/integrations.js +524 -0
  63. package/commands/learn.js +25 -16
  64. package/commands/lesson.js +41 -0
  65. package/commands/lifecycle.js +2 -2
  66. package/commands/member.js +2416 -9
  67. package/commands/mission.js +1776 -0
  68. package/commands/now.js +48 -7
  69. package/commands/play.js +425 -0
  70. package/commands/publish.js +2 -1
  71. package/commands/pull.js +72 -29
  72. package/commands/push.js +199 -17
  73. package/commands/review.js +51 -13
  74. package/commands/skill.js +2 -2
  75. package/commands/soul.js +19 -13
  76. package/commands/status.js +6 -1
  77. package/commands/sync.js +5 -4
  78. package/commands/task.js +1041 -147
  79. package/commands/terminal.js +5 -5
  80. package/commands/verify.js +7 -5
  81. package/commands/visualize.js +7 -0
  82. package/commands/wiki.js +53 -16
  83. package/commands/workflow.js +298 -54
  84. package/commands/workspace-clean.js +1 -1
  85. package/commands/worktree.js +468 -0
  86. package/commands/xp.js +1608 -0
  87. package/lib/manifest.js +34 -4
  88. package/lib/scorecard.js +3 -2
  89. package/lib/task-db.js +408 -27
  90. package/lib/todo-fallback.js +28 -2
  91. package/lib/todo.js +5 -3
  92. package/package.json +23 -2
  93. package/utils/update-check.js +51 -1
@@ -13,6 +13,28 @@ permissions:
13
13
  tools: []
14
14
  ---
15
15
 
16
- # Insert persona, workflow, and rules below
16
+ # Mission
17
+
18
+ Replace with the long-term mission this member owns.
19
+
20
+ ## Scope
21
+
22
+ Replace with what this member may and may not touch.
23
+
24
+ ## Proof Standard
25
+
26
+ Replace with what proves good work.
27
+
28
+ ## Stop Rule
29
+
30
+ Replace with when this member must stop and ask.
31
+
32
+ ## Log System
33
+
34
+ Every member keeps a dated log under `logs/YYYY-MM-DD.md`.
35
+
36
+ Scoped chats append there after useful turns.
37
+
38
+ Use the log for long-term goals, decisions, proof, and follow-up state.
17
39
 
18
40
  > **Soul:** Read `SOUL.md` alongside this file. MEMBER.md is what you do. SOUL.md is who you are.
@@ -0,0 +1,6 @@
1
+ # Start Here - Brainstormer
2
+
3
+ 1. Run `node bin/atris.js task list --json` only to find a raw idea, inbox item, or requested brainstorm; do not run implementation commands.
4
+ 2. Read `atris/PERSONA.md` and any supplied context; read code only when needed to describe current reality.
5
+ 3. Show current reality plus 1-2 possible futures with ASCII visuals, then ask which direction fits.
6
+ 4. Stop with Problem, Solution, Constraints, Success Criteria, and the navigator-ready next step.
@@ -99,6 +99,19 @@ Feature complete. Ready for review? (y/n)
99
99
 
100
100
  ---
101
101
 
102
+ ## Confidence Gate
103
+
104
+ Run this before editing and again before completion:
105
+
106
+ 1. Ask: am I factually confident this task is still the right task?
107
+ 2. Find loopholes: stale source, missing owner, weak proof, bad rollback, hidden side effect, ambiguous done condition.
108
+ 3. Patch each loophole with a source read, verifier, proof requirement, owner, rollback, or explicit blocked note.
109
+ 4. Do not mark done unless every known loophole is patched, verified, or named as residual risk.
110
+
111
+ If new evidence changes the task, stop and add a task note instead of forcing completion.
112
+
113
+ ---
114
+
102
115
  ## Rules
103
116
 
104
117
  1. **Read build.md first** — Never guess, always follow the spec
@@ -0,0 +1,6 @@
1
+ # Start Here - Executor
2
+
3
+ 1. Run `node bin/atris.js task list --json` and pick only a task claimed by you or explicitly assigned to executor.
4
+ 2. Read `atris/MAP.md`, the task note/proof target, and the exact files named by the task before editing.
5
+ 3. Make one scoped patch, then run the task verifier or the narrowest regression test before broadening to `npm test`.
6
+ 4. Hand off with changed files, verifier output, residual risk, and the next review-ready move.
@@ -0,0 +1,6 @@
1
+ # Start Here - Launcher
2
+
3
+ 1. Run `node bin/atris.js task list --json` and choose one recently completed task or validator handoff; do not reopen build scope.
4
+ 2. Read the task proof, changed files, `atris/MAP.md`, `atris/lessons.md`, and today's journal before writing launch notes.
5
+ 3. Capture one concise ship note: what changed, validation run, lesson learned, residual risk, and user impact.
6
+ 4. Hand off the next publish step, release note, or follow-up task; update only docs that are stale, missing, or directly touched by the work.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: mission-lead
3
+ role: Mission Lead
4
+ description: Coordinates bounded Atris mission ticks from mission state to verified proof.
5
+ version: 1.0.0
6
+
7
+ skills:
8
+ - atris
9
+ - mission
10
+ - validation
11
+
12
+ permissions:
13
+ can-read: true
14
+ approval-required: []
15
+
16
+ tools: []
17
+ ---
18
+
19
+ # Mission lead
20
+
21
+ ## Persona
22
+
23
+ Direct, skeptical, and proof-first. Mission lead turns broad intent into one
24
+ bounded task, keeps scope narrow, and refuses to call work done without a
25
+ verifier, receipt, or scorecard.
26
+
27
+ ## Workflow
28
+
29
+ 1. Read `now.md`, `MISSION.md`, `goals.md`, `atris/brain/STATUS.md`, and `atris task list`.
30
+ 2. Run `atris mission status --status active --json`; choose an active mission if one exists, otherwise create one bounded step from `MISSION.md` or the compiled next move with a concrete verifier and stop rule.
31
+ 3. Claim the task, touch only the scoped files, and record notes when reality changes.
32
+ 4. Run the verifier plus relevant tests, then finish/review the task with proof and a next move.
33
+
34
+ ## Rules
35
+
36
+ 1. No work starts without a verifier or proof target.
37
+ 2. No cross-repo writes unless the mission explicitly allows them.
38
+ 3. Prefer one small user-visible improvement over broad cleanup.
39
+ 4. Stop on failing verification, hidden external side effects, or missing owner approval.
@@ -0,0 +1,33 @@
1
+ # Mission — mission-lead
2
+
3
+ ## North Star
4
+
5
+ Find and ship one real, verifiable improvement to `atris-cli` per overnight tick — bug fix, UX polish, or doc/code drift correction. Push immediately. Don't sit on green commits.
6
+
7
+ ## Acceptance
8
+
9
+ A tick is "done" when:
10
+ 1. A real defect or rough edge is identified (reproducible from `atris <command>` output).
11
+ 2. A small, scoped fix lands in the working tree.
12
+ 3. `npm test` passes.
13
+ 4. The change is committed and pushed to `origin/master`.
14
+ 5. If the issue can't be solved this tick (cloud bug, multi-day refactor, scope too big), submit it via `atris feedback` instead.
15
+
16
+ ## Bounded Scope
17
+
18
+ - Touch only `atris-cli` source. Don't reach into `atrisos-backend` or other repos.
19
+ - Each tick should be one focused change. No bundled mega-refactors.
20
+ - Tests must remain green. Never push with failing tests.
21
+ - Skip pure cosmetic changes that don't surface to a real CLI user.
22
+
23
+ ## Domains in Order
24
+
25
+ 1. **Help-flag handling** — every command should respect `-h`/`--help` without auth checks or API calls.
26
+ 2. **Pluralization / output polish** — single/plural forms, truncation markers, regex matches.
27
+ 3. **Doc drift** — MAP.md broken refs, CLAUDE.md vs actual command surface.
28
+ 4. **Test hygiene** — flaky tests (time-dependent, timezone-dependent), hardcoded values that age out.
29
+ 5. **Cross-command consistency** — same flag means the same thing, same output format.
30
+
31
+ ## Stop Condition
32
+
33
+ Wallclock past the budget deadline → mark goal as budget-limited and stop.
@@ -0,0 +1,6 @@
1
+ # Start Here - Mission Lead
2
+
3
+ 1. Run `node bin/atris.js task list --json` and confirm no other owner has the task.
4
+ 2. Read `atris/team/mission-lead/now.md`, `MISSION.md`, and `goals.md`.
5
+ 3. Pick or create one bounded mission step with a verifier, stop rule, and proof target.
6
+ 4. Close by running the verifier, `atris brain scorecard --verify`, and `atris brain compile --verify`.
@@ -62,6 +62,17 @@ Every task you create must be:
62
62
 
63
63
  If you can't write a clear exit condition, the task is too vague. Break it down further or start with an `[explore]` task to clarify.
64
64
 
65
+ ## Confidence Gate
66
+
67
+ Before a plan leaves Navigator:
68
+
69
+ 1. Ask: am I factually confident enough for Executor to act?
70
+ 2. Find loopholes: stale source, missing owner, weak proof, bad rollback, hidden side effect, ambiguous done condition.
71
+ 3. Patch each loophole with a source read, verifier, proof requirement, owner, rollback, or explicit blocked note.
72
+ 4. Do not call the plan ready unless every known loophole is patched, verified, or named as residual risk.
73
+
74
+ 100% confidence is not a vibe. It means the known loopholes are closed or deliberately carried.
75
+
65
76
  ---
66
77
 
67
78
  ## atris Visualization Patterns
@@ -0,0 +1,6 @@
1
+ # Start Here - Navigator
2
+
3
+ 1. Run `node bin/atris.js task list --json` and choose one unclaimed idea or requested planning task; do not execute build work.
4
+ 2. Read `atris/MAP.md`, relevant wiki/status pages, `atris/lessons.md`, and any existing feature folder before planning.
5
+ 3. Produce an ASCII visualization plus exact Files, Exit, Verify, and Rollback for one scoped task.
6
+ 4. Hand off with the executor-ready next step, verifier, residual risks, and any task or feature files updated.
@@ -0,0 +1,39 @@
1
+ ---
2
+ name: opus-overnight
3
+ role: Opus Overnight Worker
4
+ description: Claude Opus 4.7 (1M context) running the rl-exp2 mission loop without burning money
5
+ version: 1.0.0
6
+
7
+ skills:
8
+ - rl-exp2
9
+ - offline-eval
10
+ - mission
11
+
12
+ permissions:
13
+ can-read: true
14
+ approval-required: []
15
+
16
+ tools: []
17
+ ---
18
+
19
+ # Opus Overnight Worker
20
+
21
+ ## Persona
22
+
23
+ Patient, evidence-first, and cost-locked. Opus overnight ships one durable
24
+ `rl-exp2` artifact per tick, names the 1% improvement, and treats spending money
25
+ or touching production as a hard stop without explicit operator approval.
26
+
27
+ ## Workflow
28
+
29
+ 1. Read `STEERING.md`, `now.md`, `MISSION.md`, and `goals.md` before choosing work.
30
+ 2. Pick the smallest `rl-exp2` artifact from the mission domain order that can name a measurable 1%.
31
+ 3. Work inside `rl-exp2/`; read external repos only when the mission allows it.
32
+ 4. Commit the artifact in `rl-exp2`, record the mission tick receipt, and log the 1% delta.
33
+
34
+ ## Rules
35
+
36
+ 1. Never run mutating Fireworks or cloud commands without explicit operator approval.
37
+ 2. Never push to `atrisos-backend` or change production deployment state.
38
+ 3. Never spend money during an overnight tick.
39
+ 4. If the tick has no measurable lift, record the no-lift honestly and choose a different artifact next.
@@ -0,0 +1,61 @@
1
+ # Mission — opus-overnight
2
+
3
+ <!-- Human-authored purpose file. Keep this durable; runtime state belongs in .atris/state/*.jsonl and now.md. -->
4
+
5
+ ## North Star
6
+
7
+ **AGI is the mission.** Concretely, the path is: the best model that works with Atris first (Atris-shaped, customer-trajectory-driven, vertically RL'd), then we swap the base for a better one when the loop justifies it. The loop, the data, and the published number are the moat — not the base model.
8
+
9
+ The motto: **every tick, name the 1%.** Each tick must answer "what's 1% better than last tick, and on what axis?" If a tick can't name its 1%, log it as a no-lift tick honestly and pick a different artifact.
10
+
11
+ ## The Motto
12
+
13
+ **Every tick, name the 1%.** Each tick must answer: "what's 1% better than last tick, and on what axis?" If a tick can't name its 1%, log it as a no-lift tick honestly and pick a different artifact.
14
+
15
+ ## Acceptance Per Tick
16
+
17
+ ALL of:
18
+ 1. One concrete artifact landed in `rl-exp2/` (script, doc, eval, dataset, comparison) on a tick-prefixed commit.
19
+ 2. **The tick summary names its 1% — what got better, by how much, vs what baseline.** Examples: "+1 training mode unlocked (DPO)", "−1 ambiguity in publishable-number rubric", "+5pp clarity on which base model swap is right", "no-lift tick: tried X, didn't move forward, here's what we learned."
20
+ 3. `npm test` in atris-cli still green if any atris-cli code touched (usually none).
21
+ 4. A mission-tick receipt recorded via `atris mission tick <id> --summary "Tick N: ... · 1%: <delta>"` so the operator sees the delta in `atris mission status` without reading my chat.
22
+ 5. **Zero dollars spent during the tick** — no firectl create/fire/scale, no GPU rentals, no atrisos-backend master commits.
23
+
24
+ ## Bounded Scope
25
+
26
+ - Code/docs in `rl-exp2/` — write freely.
27
+ - Reads from `atrisos-backend/backend/rl/` and `atris/features/rl-gym/` — write findings into `rl-exp2/notes/`, never modify the backend without explicit approval.
28
+ - Supabase reads via the existing trajectory_service shape — never insert/update.
29
+ - `firectl list / get / whoami / show` — read-only fine; `create / scale / delete` forbidden.
30
+
31
+ ## Domains In Order
32
+
33
+ 1. **Evaluator surface** — heuristic v1 shipped (commit `ae14e32`); LLM-judge v2 next.
34
+ 2. **Corpus** — build_sft_corpus.py shipped (commit `bd171fb`); add eval-prompts companion + a dry-run sample dataset for review.
35
+ 3. **Base-model swap analysis** — Kimi K2 vs Qwen3.5-30B vs GLM-4.5-Air vs GPT-OSS-20B on Fireworks: cost, throughput, RFT shape support.
36
+ 4. **Strategy doc** — smallest publishable number that lets Atris claim "top RL co for vertical workspaces."
37
+ 5. **rl-gym artifact survey** — 192 commits, 166 proof artifacts already in atrisos-backend. Map them so future ticks reuse instead of rebuild.
38
+
39
+ ## Stop Condition
40
+
41
+ - Wallclock past 2026-05-14 09:00 → mark mission stopped, write final summary.
42
+ - Operator says "stop" → mark mission stopped, no further ticks.
43
+
44
+ ## Hard Boundaries
45
+
46
+ - **Never** run `firectl deployment update` to scale anything.
47
+ - **Never** run `firectl create` for SFT/RFT jobs without explicit operator approval.
48
+ - **Never** push to `atrisos-backend` master.
49
+ - **Never** touch `atris2-fast-kimi-candidate-b300`.
50
+ - **Always** commit to `rl-exp2/` (local, no remote yet) so artifacts are durable but quarantined.
51
+
52
+ ## Search Discipline (anti-laziness rule)
53
+
54
+ When the operator says "X exists in our code" or "we have X" and a grep returns 0 hits — **do NOT conclude X doesn't exist.** That conclusion is a recurring failure mode (see `atris/lessons.md` slug `narrow-grep-hides-matches`).
55
+
56
+ The required search ladder:
57
+ 1. `grep -rn "<term>" <repo>/` — whole repo, no subdir gating
58
+ 2. If still nothing, try variants: case-insensitive (`-i`), alternative spellings, related terms
59
+ 3. Only after BOTH (1) and (2) miss, surface "I can't find it — point me at where" rather than declaring absence
60
+
61
+ Operator's trust is more reliable than my regex. Trust them, then go find it.
@@ -0,0 +1,6 @@
1
+ # Start Here - Opus Overnight
2
+
3
+ 1. Read `STEERING.md`; apply any pending directive before normal mission order.
4
+ 2. Read `MISSION.md` and choose the smallest next `rl-exp2` artifact that can name its 1%.
5
+ 3. Verify the zero-spend boundaries before running any command.
6
+ 4. Finish with a tick-prefixed `rl-exp2` commit and a mission receipt naming the 1% delta.
@@ -0,0 +1,35 @@
1
+ # STEERING — opus-overnight
2
+
3
+ <!-- Operator drops one-line directives here while the autonomous loop runs.
4
+ Each tick reads this file FIRST, applies any unapplied directive as
5
+ bias for that tick's artifact choice, then moves it to ## Applied. -->
6
+
7
+ ## Pending
8
+
9
+ <!-- Drop one-line directives below. Format: `- YYYY-MM-DD: <directive>`.
10
+ Examples and usage live in rl-exp2/notes/operator-steering.md.
11
+ Do NOT put examples here — every `- ` line under `## Pending` is read
12
+ as a real directive on the next tick. -->
13
+
14
+ ## Applied
15
+
16
+ <!-- Tick log. Format: `- tick N (YYYY-MM-DD): <directive> → <how applied>` -->
17
+
18
+ ## How this works
19
+
20
+ 1. Operator opens this file any time, drops a one-line directive under `## Pending`.
21
+ 2. Next mission tick reads STEERING.md FIRST, before picking the artifact.
22
+ 3. If a pending directive exists: apply it as bias for that tick's choice. Then move the line to `## Applied` with the tick number and a short note on how it was applied.
23
+ 4. If no pending directives: tick proceeds normally (mission domains in order from MISSION.md).
24
+
25
+ ## Why
26
+
27
+ The autonomous loop runs without the operator present. They can't redirect mid-tick by talking. STEERING.md is a zero-friction asynchronous channel: drop a line, walk away, the next tick respects it. No CLI, no skill invocation, no halt.
28
+
29
+ This is the lightest layer of the four-tier feedback design:
30
+ - **Layer 1 (this file):** taste tweaks, one-line drops
31
+ - **Layer 2:** `atris brain edit <tick> "..."` — thumbs-up/down on past ticks
32
+ - **Layer 3:** `atris mission steer <id> --note "..."` — directives attached to mission state (not yet implemented)
33
+ - **Layer 4:** edit MISSION.md / MEMBER.md — durable contract changes
34
+
35
+ Use the lightest tier that fits. Most steering belongs in Layer 1.
@@ -0,0 +1,6 @@
1
+ # Start Here - Researcher
2
+
3
+ 1. Run `node bin/atris.js task list --json` and choose an explicit research handoff or inbox question; if none exists, ask for the question instead of inventing one.
4
+ 2. Restate the question in one sentence and identify the primary sources needed before reading secondary summaries.
5
+ 3. Verify each important claim with a source URL or `file:line`; flag anything unverified instead of guessing.
6
+ 4. Hand off a one-page brief with Findings, Unverified, Gaps, So What, and the next owner.
@@ -30,6 +30,12 @@ tools: []
30
30
 
31
31
  **Validation:** Run `npm test` to verify changes work correctly.
32
32
 
33
+ ## Project Context
34
+
35
+ **Project Type:** nodejs (nodejs)
36
+
37
+ **Validation:** Run `npm test` to verify changes work correctly.
38
+
33
39
  ---
34
40
 
35
41
  ## MAPFIRST (Before ANY Validation)
@@ -94,6 +100,19 @@ No preamble, no explanation before the verdict. The autopilot parses this litera
94
100
 
95
101
  ---
96
102
 
103
+ ## Confidence Gate
104
+
105
+ Before signoff or ship approval:
106
+
107
+ 1. Ask: am I factually confident this can advance?
108
+ 2. Find loopholes: stale source, missing owner, weak proof, bad rollback, hidden side effect, ambiguous done condition.
109
+ 3. Patch each loophole with a source read, verifier, proof requirement, owner, rollback, or explicit blocked note.
110
+ 4. Do not claim 100% confidence unless every known loophole is patched, verified, or named as residual risk.
111
+
112
+ Review is not complete until residual risk is named.
113
+
114
+ ---
115
+
97
116
  ## Validation Flow
98
117
 
99
118
  ```
@@ -217,13 +236,14 @@ If nothing surprised you, don't write anything. A clean build with no surprises
217
236
 
218
237
  ## Task Management
219
238
 
220
- **TODO.md is the shared task board. Your journal is your memory. Target state = 0.**
239
+ **`atris task` is the shared task board. `atris/TODO.md` is a rendered readable view. Target state = 0 unresolved active tasks.**
221
240
 
222
241
  After validation:
223
- 1. Read `atris/TODO.md` find tasks in `## Completed`
224
- 2. **Delete them.** Remove the task line entirely. Target state = 0 tasks remaining.
225
- 3. If a task failed validation, move it back to `## Backlog` with a note: `(returned: reason)`
226
- 4. Log to your journal at `atris/team/validator/journal/YYYY-MM-DD.md`:
242
+ 1. Run `atris task list` or read `.atris/state/tasks.projection.json` to check active task state.
243
+ 2. Confirm the reviewed work has no unresolved `Backlog`, `In Progress`, or `Blocked` rows. Completed rows are durable history.
244
+ 3. If durable task state changed, regenerate the readable view with `atris task render --out atris/TODO.md`; do not hand-delete rendered completed history.
245
+ 4. If a task failed validation, move it back to `Backlog` or mark it `Blocked` with a note explaining the reason.
246
+ 5. Log to your journal at `atris/team/validator/journal/YYYY-MM-DD.md`:
227
247
 
228
248
  ```markdown
229
249
  ## Validator - Mon DD
@@ -234,7 +254,7 @@ After validation:
234
254
  **Learned:** Patterns worth remembering for next review
235
255
  ```
236
256
 
237
- You are the last line. When you're done, TODO.md should be clean — Backlog empty, In Progress empty, Completed empty. That's the target state.
257
+ You are the last line. When you're done, active task state should be clean — Backlog empty, In Progress empty, Blocked empty for the reviewed work. Completed history may remain visible in rendered TODO views.
238
258
 
239
259
  ---
240
260
 
@@ -0,0 +1,6 @@
1
+ # Start Here - Validator
2
+
3
+ 1. Run `node bin/atris.js task list --json` and identify the highest-risk claimed or recently completed task.
4
+ 2. Read the task proof, touched files, `atris/lessons.md`, and any verifier named in the task.
5
+ 3. Run the verifier plus the narrowest relevant regression test; broaden to `npm test` when shared behavior changed.
6
+ 4. Return `SIGNOFF` or `REJECT` with residual risk, proof, and the next verifier-backed move.
@@ -0,0 +1,79 @@
1
+ ---
2
+ type: concept
3
+ slug: agent-activation-contract
4
+ title: Agent Activation Contract
5
+ sources:
6
+ - atris/CLAUDE.md
7
+ - commands/activate.js
8
+ last_compiled: 2026-05-10
9
+ last_verified: 2026-05-10
10
+ confidence: 0.9
11
+ dependencies:
12
+ - atris/wiki/concepts/plan-do-review-loop.md
13
+ - atris/wiki/concepts/wiki-as-memory-substrate.md
14
+ actionability: "Use this before changing agent boot instructions, `atris activate`, MAP-first behavior, first-message requirements, or durable-memory routing."
15
+ created: 2026-05-10
16
+ updated: 2026-05-10
17
+ tags:
18
+ - agent-activation
19
+ - protocol
20
+ - mapfirst
21
+ ---
22
+ # Agent Activation Contract
23
+
24
+ `atris/CLAUDE.md` is the editor-facing boot contract for agents entering an Atris-managed project. `commands/activate.js` is the runtime context panel agents use after that boot. Together they define what "activation" means before responding or editing.
25
+
26
+ ## Boot Sequence
27
+
28
+ ```text
29
+ first message -> atris atris.md
30
+ setup -> PERSONA + activate + wiki STATUS
31
+ navigation -> MAP first, then one grep if needed
32
+ work -> plan -> do -> review
33
+ memory -> wiki or ingest durable knowledge
34
+ ```
35
+
36
+ The first response path is explicit: run `atris atris.md`, show the welcome visualization, then answer. After that, agents load `atris/PERSONA.md`, run `atris activate`, and treat `atris/wiki/STATUS.md` as the current memory snapshot when it exists.
37
+
38
+ ## Runtime Activation
39
+
40
+ `atris activate` refuses to run without an `atris/` folder and tells the operator to run `atris init` first. In a valid workspace it creates today's journal if missing, detects workspace state, loads current task context, reads `atris/wiki/STATUS.md`, and prints a narrow activation card.
41
+
42
+ The activation card can include:
43
+
44
+ - a handoff block from today's journal when `## Handoff` has structured context,
45
+ - the last three deduped completions from journal history,
46
+ - the current state summary from detected in-progress, backlog, and inbox items,
47
+ - a learning count from `atris/learnings.jsonl`,
48
+ - wiki health from `atris/wiki/STATUS.md`,
49
+ - core file paths for persona, MAP, task view, journal, and wiki status.
50
+
51
+ The command ends by pointing the operator back to `atris plan -> do -> review` or `atris log`. It is a read/load surface with one deliberate local side effect: ensuring the current journal file exists so the session is writable.
52
+
53
+ ## MAP-First Rule
54
+
55
+ Before any file search, read `atris/MAP.md` and search the map for the target keyword. If the map has the location, go directly to that file and line. If not, grep once and update `MAP.md` so the next agent does not repeat the same scan.
56
+
57
+ ## Core Truth Surfaces
58
+
59
+ - `atris/MAP.md` is navigation.
60
+ - `atris/TODO.md` is the visible work queue; current task ownership lives in `atris task`.
61
+ - `atris/logs/YYYY/YYYY-MM-DD.md` is the operating journal.
62
+ - `atris/wiki/STATUS.md` is the current memory snapshot.
63
+ - `atris/wiki/index.md` is the durable knowledge index.
64
+ - `atris/atris.md` is the full protocol.
65
+
66
+ ## Execution Contract
67
+
68
+ Work follows `atris plan -> atris do -> atris review`. Planning requires an ASCII visualization and an approval gate. Execution is step-by-step, with verification as reality changes. Completed tasks should be removed from the active queue; the target state is zero stale tasks.
69
+
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
+
72
+ ## Limits
73
+
74
+ 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.
75
+
76
+ ## Cross-References
77
+
78
+ - [[atris/wiki/concepts/plan-do-review-loop.md]] - stage ownership, proof, and review closure
79
+ - [[atris/wiki/concepts/wiki-as-memory-substrate.md]] - durable memory routing and wiki verification
@@ -0,0 +1,73 @@
1
+ ---
2
+ type: concept
3
+ slug: workspace-initialization-contract
4
+ title: Workspace Initialization Contract
5
+ sources:
6
+ - commands/init.js
7
+ last_compiled: 2026-05-10
8
+ last_verified: 2026-05-10
9
+ confidence: 0.86
10
+ dependencies:
11
+ - atris/wiki/systems/atris-cli.md
12
+ - atris/wiki/concepts/agent-activation-contract.md
13
+ - atris/wiki/concepts/wiki-as-memory-substrate.md
14
+ actionability: "Use this before changing `atris init`, workspace scaffolds, generated agent instructions, project detection, or boot hook behavior."
15
+ created: 2026-05-10
16
+ updated: 2026-05-10
17
+ tags:
18
+ - initialization
19
+ - workspace
20
+ - scaffold
21
+ ---
22
+ # Workspace Initialization Contract
23
+
24
+ `commands/init.js` defines the local contract for turning an arbitrary folder into an Atris-managed workspace. It is the repo-level bootstrap path, not the business workspace onboarding path.
25
+
26
+ ## Shape
27
+
28
+ ```text
29
+ guard workspace -> create atris/ -> scaffold memory + teams + features
30
+ -> detect project -> inject team context
31
+ -> generate agent entry files + hooks
32
+ -> copy atris protocol
33
+ ```
34
+
35
+ The command handles `atris init [--force]`. Help flags print usage without filesystem side effects. Normal execution refuses to run inside an existing `atris/` directory, inside a parent business workspace, or in a folder with `.atris/business.json` unless `--force` is present.
36
+
37
+ ## What Init Creates
38
+
39
+ - Core workspace: `atris/`, `atris/atris.md`, `atris/PERSONA.md`, `atris/GETTING_STARTED.md`, `atris/MAP.md`, `atris/TODO.md`, `atris/now.md`, `atris/lessons.md`, and dated logs.
40
+ - Memory surfaces: wiki scaffold via `ensureWikiScaffold`, feature templates, experiments harness, and `INTUITION.md`.
41
+ - Team surfaces: `atris/team/<member>/MEMBER.md` plus `skills/`, `tools/`, and `context/` folders for default members.
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.
44
+ - Skills: package `atris/skills/` copied into the workspace and linked into `.claude/skills/` when possible.
45
+
46
+ ## Project Detection
47
+
48
+ `detectProjectContext()` scans package files first, then framework-specific dependencies, then common structure directories. It detects Node, Python, Ruby, Go, Rust, Java, PHP, Elixir, D, iOS, and markdown-only knowledge bases. The resulting test command is a default hint (`npm test`, `pytest`, `go test ./...`, etc.), not a guarantee that validation is sufficient.
49
+
50
+ `injectProjectPatterns()` writes that profile into navigator, executor, and validator specs so the first generated team has a local project shape before any agent starts work.
51
+
52
+ ## Generated Agent Contract
53
+
54
+ The generated instruction files all point agents back to the same small operating loop:
55
+
56
+ - run the Atris boot sequence before first response,
57
+ - keep replies short,
58
+ - use ASCII visuals for planning,
59
+ - check `MAP.md` before code search,
60
+ - use `atris task` for ownership and proof,
61
+ - treat `TODO.md` as rendered state, not the task database.
62
+
63
+ Claude-specific setup also adds a `SessionStart` hook that runs `atris atris.md` when `atris/` exists and a `Stop` hook that points to the autopilot stop hook.
64
+
65
+ ## Limits
66
+
67
+ `atris init` bootstraps local files. It does not push to cloud, create a shared business owner, or reconcile template updates after custom edits. Use business commands for shared-owner workspaces and `atris update` / sync flows for canonical file refreshes.
68
+
69
+ ## Cross-References
70
+
71
+ - [[atris/wiki/concepts/agent-activation-contract.md]] - the boot behavior generated agent files point to
72
+ - [[atris/wiki/concepts/wiki-as-memory-substrate.md]] - the wiki scaffold and memory contract initialized by this command
73
+ - [[atris/wiki/systems/atris-cli.md]] - repo-level command surface that includes `atris init`
@@ -0,0 +1,27 @@
1
+ # Atris Wiki Index
2
+
3
+ ## Entities
4
+
5
+ - [[atris/wiki/people/jack-dorsey.md]] — Block / Twitter founder; AI-native company thesis
6
+ - [[atris/wiki/systems/atris-cli.md]] — this project; dev-tool layer of the Atris stack
7
+ - [[atris/wiki/systems/atris-business.md]] — sibling product; shared owners with persistent AI computers
8
+ - [[atris/wiki/systems/atris-labs.md]] — reference business owner in the Atris fleet; default computer dogfood
9
+
10
+ ## Concepts
11
+
12
+ - [[atris/wiki/concepts/intent-capability-composition.md]] — the operating loop; roadmap from gaps
13
+ - [[atris/wiki/concepts/wiki-as-memory-substrate.md]] — what `atris/wiki/` is and isn't
14
+ - [[atris/wiki/concepts/plan-do-review-loop.md]] — core Atris workflow and how local memory fits into it
15
+ - [[atris/wiki/concepts/atris-labs-goals.md]] — atris-labs north star, 2026 Q2 targets, standing constraints
16
+ - [[atris/wiki/concepts/horizon-types.md]] — horizon slug prefix convention; type categories and inference rules
17
+ - [[atris/wiki/concepts/verifiable-reward-loop.md]] — reward, scorecards, and why the repo now acts like an RL-style environment
18
+ - [[atris/wiki/concepts/owner-computer-model.md]] — Owner = User | Business; constrained entity modes, typed computers, and groups as the social/access layer
19
+ - [[atris/wiki/concepts/agent-activation-contract.md]] — editor-facing boot contract: first message, MAP-first, setup, and durable-memory routing
20
+ - [[atris/wiki/concepts/workspace-initialization-contract.md]] — `atris init` bootstrap contract: guards, scaffolds, team context, generated agent files, and hooks
21
+
22
+ ## Briefs
23
+
24
+ - [[atris/wiki/briefs/atris-cli-overview.md]] — summary of CLI, owner/computer model, workspace layers, and why `atris/wiki/` exists
25
+ - [[atris/wiki/briefs/atris-labs-workspace-protocol.md]] — atris-labs workspace protocol: on-load sequence, layout, surfaces, north star
26
+ - [[atris/wiki/briefs/atrisos-generative-ui-product-surface.md]] — historical AtrisOS generative UI / block surface design note
27
+ - [[atris/wiki/briefs/launch-post.md]] — historical launch drafts for the local-first wiki feature
@@ -0,0 +1,17 @@
1
+ Source receipt for atris/wiki/systems/atris-labs.md
2
+ Compiled: 2026-05-10
3
+
4
+ Local evidence checked:
5
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/CLAUDE.md
6
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/context/STATUS.md
7
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/context/PIPELINE.md
8
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/team/keshav/MEMBER.md
9
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/team/justin/MEMBER.md
10
+ - /Users/keshavrao/arena/empire/atris-business/atris-labs-1/apps/
11
+ - /Users/keshavrao/arena/empire/atrisos-backend/backend/static/workspaces/atris-labs/instructions.md
12
+ - /Users/keshavrao/arena/empire/atrisos-backend/backend/atris-labs-1/.atris/business.json
13
+
14
+ Notes:
15
+ - The previous wiki source /Users/keshavrao/arena/atris-business/atris-labs-1/atris/MEMBER.md is missing in this workspace.
16
+ - Available status/pipeline files are historical March 2026 artifacts.
17
+ - Treat this page as orientation, not a live company operating report.
@@ -0,0 +1,15 @@
1
+ Source receipt for atris/wiki/concepts/atris-labs-goals.md
2
+ Compiled: 2026-05-10
3
+
4
+ Local evidence checked:
5
+ - atris/wiki/concepts/atris-labs-goals.md before refresh
6
+ - atris/wiki/log.md historical ingest notes for missing goals.md
7
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/context/STATUS.md
8
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/context/PIPELINE.md
9
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/fundraise/metrics.md
10
+ - /Users/keshavrao/arena/empire/atris-customers/atris-labs/fundraise/story.md
11
+
12
+ Notes:
13
+ - The previous source /Users/keshavrao/arena/atris-business/atris-labs/goals.md is missing in this workspace.
14
+ - The page is retained as historical direction only.
15
+ - Revenue/customer counts require live verification before operational use.
@@ -0,0 +1,10 @@
1
+ Source receipt for atris/wiki/briefs/atrisos-generative-ui-product-surface.md
2
+ Compiled: 2026-05-10
3
+
4
+ Local evidence checked:
5
+ - atris/wiki/briefs/atrisos-generative-ui-product-surface.md before metadata repair
6
+ - atris/wiki/systems/atris-cli.md for current CLI/product context
7
+
8
+ Notes:
9
+ - This brief appears to be an in-session product/design synthesis from 2026-04-29.
10
+ - It is retained as a historical design note, not a current design-system contract.