atris 3.34.0 → 3.36.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.
- package/AGENTS.md +35 -0
- package/FOR_AGENTS.md +5 -3
- package/README.md +5 -3
- package/atris/GETTING_STARTED.md +1 -1
- package/atris/atris.md +3 -0
- package/atris/policies/day-loop-voice.md +102 -0
- package/atris/policies/outbound-artifact-gate.md +2 -0
- package/atris/skills/design/SKILL.md +56 -32
- package/atris/skills/endgame/SKILL.md +12 -6
- package/atris/skills/engines/SKILL.md +35 -8
- package/atris/skills/fable-method/SKILL.md +66 -0
- package/atris/skills/improve/SKILL.md +65 -45
- package/atris/skills/render-cli/SKILL.md +88 -0
- package/atris/skills/youtube/SKILL.md +10 -1
- package/atris.md +6 -2
- package/ax +617 -31
- package/bin/atris.js +719 -266
- package/commands/activate.js +194 -88
- package/commands/aeo.js +52 -0
- package/commands/agents.js +166 -0
- package/commands/autoland.js +718 -72
- package/commands/autopilot-front.js +20 -2
- package/commands/autopilot.js +118 -2
- package/commands/avail.js +407 -0
- package/commands/bench.js +188 -0
- package/commands/brain.js +3 -0
- package/commands/brief.js +651 -0
- package/commands/business-sync.js +192 -6
- package/commands/business.js +91 -8
- package/commands/clean.js +50 -24
- package/commands/close.js +1083 -0
- package/commands/cloud.js +245 -0
- package/commands/codex-goal.js +26 -2
- package/commands/compile.js +292 -1
- package/commands/computer.js +150 -3
- package/commands/dream.js +365 -0
- package/commands/drill.js +371 -0
- package/commands/drive.js +187 -0
- package/commands/engine.js +1061 -29
- package/commands/experiments.js +28 -0
- package/commands/feed.js +202 -0
- package/commands/feedback.js +34 -12
- package/commands/fleet-report.js +206 -0
- package/commands/github.js +38 -0
- package/commands/gm.js +285 -3
- package/commands/goal.js +247 -0
- package/commands/improve.js +642 -26
- package/commands/init.js +83 -43
- package/commands/integrations.js +39 -11
- package/commands/interview.js +209 -0
- package/commands/land.js +253 -52
- package/commands/lesson.js +112 -1
- package/commands/lifecycle.js +39 -3
- package/commands/linear.js +38 -0
- package/commands/log.js +84 -1
- package/commands/loops.js +220 -16
- package/commands/meet.js +220 -0
- package/commands/member.js +899 -66
- package/commands/mission.js +3512 -332
- package/commands/next.js +137 -0
- package/commands/now.js +240 -21
- package/commands/one-lap.js +776 -0
- package/commands/orb.js +314 -0
- package/commands/pack-craft.js +179 -0
- package/commands/pack.js +823 -0
- package/commands/play.js +3 -2
- package/commands/probe.js +30 -3
- package/commands/pulse.js +241 -46
- package/commands/push.js +260 -82
- package/commands/radar.js +259 -14
- package/commands/rainmaker.js +49 -0
- package/commands/report.js +415 -0
- package/commands/scout.js +147 -0
- package/commands/search.js +363 -0
- package/commands/serve.js +54 -0
- package/commands/skill.js +47 -3
- package/commands/slop.js +50 -2
- package/commands/soul.js +1 -1
- package/commands/status.js +50 -5
- package/commands/stream.js +861 -0
- package/commands/stripe.js +38 -0
- package/commands/study.js +693 -0
- package/commands/supabase.js +39 -0
- package/commands/sync.js +67 -54
- package/commands/task.js +2275 -182
- package/commands/team.js +73 -0
- package/commands/truth.js +29 -3
- package/commands/unknowns.js +627 -0
- package/commands/update.js +44 -0
- package/commands/vercel.js +38 -0
- package/commands/verify.js +96 -0
- package/commands/watch.js +303 -0
- package/commands/wish.js +500 -0
- package/commands/workflow.js +11 -5
- package/commands/worktree.js +299 -20
- package/commands/write.js +399 -0
- package/commands/xp.js +29 -11
- package/lib/auto-accept-certified.js +391 -43
- package/lib/autoland.js +353 -52
- package/lib/ax-auto-lane.js +79 -0
- package/lib/bench/context.js +147 -0
- package/lib/bench/engines.js +141 -0
- package/lib/bench/report.js +140 -0
- package/lib/bench/runner.js +512 -0
- package/lib/brief-ledger.js +350 -0
- package/lib/cloud-mission.js +259 -0
- package/lib/codex-flight.js +154 -0
- package/lib/default-runner.js +45 -0
- package/lib/default-verifier.js +70 -0
- package/lib/engine-registry.js +232 -0
- package/lib/experiments/daily.js +640 -0
- package/lib/fleet.js +2431 -38
- package/lib/improve-vitals-html.js +171 -0
- package/lib/known-commands.js +58 -0
- package/lib/loop-doctor.js +416 -0
- package/lib/member-switches.js +144 -0
- package/lib/memory-view.js +14 -5
- package/lib/mission-room.js +1 -0
- package/lib/mission-root.js +52 -0
- package/lib/mission-runtime-loop.js +7 -0
- package/lib/next-moves.js +327 -10
- package/lib/official-cli-integration.js +174 -0
- package/lib/one-lap-validator.js +60 -0
- package/lib/orb-context.js +477 -0
- package/lib/orb-scorecard.js +224 -0
- package/lib/outbound-send-gate.js +165 -0
- package/lib/permission-grants.js +293 -0
- package/lib/policy-lessons.js +52 -1
- package/lib/pulse.js +277 -3
- package/lib/receipt-block.js +168 -0
- package/lib/receipt-evidence.js +65 -4
- package/lib/review-integrity.js +147 -0
- package/lib/router-brain.js +352 -0
- package/lib/runner-command.js +33 -0
- package/lib/self-drive.js +258 -0
- package/lib/short-name.js +103 -0
- package/lib/spawn-env.js +18 -0
- package/lib/state-detection.js +56 -1
- package/lib/sync-status.js +59 -0
- package/lib/task-db.js +319 -27
- package/lib/task-proof.js +43 -1
- package/lib/task-receipt.js +93 -0
- package/lib/team-presence.js +260 -0
- package/lib/tool-result-encode.js +7 -0
- package/lib/trust-tiers.js +90 -0
- package/lib/usage.js +107 -0
- package/lib/voice-gate.js +163 -0
- package/lib/wish-audit.js +1368 -0
- package/lib/wish-delegate.js +1840 -0
- package/lib/wish-design.js +110 -0
- package/lib/wish-stats.js +183 -0
- package/lib/wish-store.js +354 -0
- package/lib/zip.js +221 -0
- package/package.json +3 -1
- package/templates/loops/atris/loops/LOOPS.md +55 -0
- package/templates/loops/atris/loops/TICK.md +24 -0
- package/templates/loops/atris/loops/feedback.md +22 -0
- package/templates/loops/atris/loops/quality.md +22 -0
- package/templates/loops/atris/wiki/systems/loops.md +41 -0
- package/utils/api.js +5 -1
- package/utils/auth.js +57 -21
- package/utils/update-check.js +27 -6
- package/atris/learnings.jsonl +0 -1
package/commands/status.js
CHANGED
|
@@ -2,6 +2,7 @@ const fs = require('fs');
|
|
|
2
2
|
const path = require('path');
|
|
3
3
|
const { getLogPath, ensureLogDirectory, createLogFile } = require('../lib/journal');
|
|
4
4
|
const { parseTodo, getTeamActivity } = require('../lib/todo');
|
|
5
|
+
const { clarify } = require('../lib/autoland');
|
|
5
6
|
|
|
6
7
|
// Box drawing helpers
|
|
7
8
|
const W = 64; // inner width
|
|
@@ -76,6 +77,50 @@ function readEndgameMeta(todoFile) {
|
|
|
76
77
|
return { slug, horizon };
|
|
77
78
|
}
|
|
78
79
|
|
|
80
|
+
function todoItemFromTaskRow(row) {
|
|
81
|
+
const metadata = row.metadata && typeof row.metadata === 'object' ? row.metadata : {};
|
|
82
|
+
return {
|
|
83
|
+
id: row.display_id || row.id,
|
|
84
|
+
title: row.title,
|
|
85
|
+
tag: row.tag || null,
|
|
86
|
+
tags: row.tag ? [row.tag] : [],
|
|
87
|
+
claimed: row.claimed_by || metadata.claimed || null,
|
|
88
|
+
stage: row.status === 'claimed' ? 'in_progress' : (metadata.stage || null),
|
|
89
|
+
verify: typeof metadata.verify === 'string' && metadata.verify.trim()
|
|
90
|
+
? metadata.verify.trim()
|
|
91
|
+
: null,
|
|
92
|
+
_source: 'db',
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
function parseStatusTodo(todoFile) {
|
|
97
|
+
try {
|
|
98
|
+
const taskDb = require('../lib/task-db');
|
|
99
|
+
const { DatabaseSync } = require('node:sqlite');
|
|
100
|
+
const dbPath = taskDb.getDbPath();
|
|
101
|
+
if (!dbPath || !fs.existsSync(dbPath)) return parseTodo(todoFile);
|
|
102
|
+
const db = new DatabaseSync(dbPath, { readOnly: true });
|
|
103
|
+
try {
|
|
104
|
+
const workspaceRoot = taskDb.workspaceRoot();
|
|
105
|
+
const rows = taskDb.withTaskDisplayRefs(taskDb.listTasks(db, { workspaceRoot, limit: 500 }));
|
|
106
|
+
const todo = { backlog: [], inProgress: [], review: [], completed: [] };
|
|
107
|
+
for (const row of rows) {
|
|
108
|
+
const item = todoItemFromTaskRow(row);
|
|
109
|
+
if (row.status === 'open') todo.backlog.push(item);
|
|
110
|
+
else if (row.status === 'claimed') todo.inProgress.push(item);
|
|
111
|
+
else if (row.status === 'review') todo.review.push(item);
|
|
112
|
+
else if (row.status === 'done') todo.completed.push(item);
|
|
113
|
+
}
|
|
114
|
+
return todo;
|
|
115
|
+
} finally {
|
|
116
|
+
db.close();
|
|
117
|
+
}
|
|
118
|
+
} catch (e) {
|
|
119
|
+
if (process.env.ATRIS_DEBUG) console.error('[status] task db read failed:', e.message);
|
|
120
|
+
return parseTodo(todoFile);
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
|
|
79
124
|
function statusAtris(isQuick = false, jsonMode = false, verbose = false) {
|
|
80
125
|
const targetDir = path.join(process.cwd(), 'atris');
|
|
81
126
|
|
|
@@ -88,9 +133,9 @@ function statusAtris(isQuick = false, jsonMode = false, verbose = false) {
|
|
|
88
133
|
process.exit(1);
|
|
89
134
|
}
|
|
90
135
|
|
|
91
|
-
//
|
|
136
|
+
// Load task board state.
|
|
92
137
|
const todoFile = path.join(targetDir, 'TODO.md');
|
|
93
|
-
const todo =
|
|
138
|
+
const todo = parseStatusTodo(todoFile);
|
|
94
139
|
|
|
95
140
|
// Read journal for inbox and completions
|
|
96
141
|
const { logFile, dateFormatted } = getLogPath();
|
|
@@ -184,7 +229,7 @@ function statusAtris(isQuick = false, jsonMode = false, verbose = false) {
|
|
|
184
229
|
if (endgame.slug) {
|
|
185
230
|
where.push(`The active horizon is ${endgame.slug}.`);
|
|
186
231
|
if (endgame.horizon) {
|
|
187
|
-
where.push(...compactWrappedText(endgame.horizon, 74, 2));
|
|
232
|
+
where.push(...compactWrappedText(clarify(endgame.horizon), 74, 2));
|
|
188
233
|
}
|
|
189
234
|
} else {
|
|
190
235
|
where.push('No active endgame is set.');
|
|
@@ -198,12 +243,12 @@ function statusAtris(isQuick = false, jsonMode = false, verbose = false) {
|
|
|
198
243
|
|
|
199
244
|
const queueParts = [];
|
|
200
245
|
if (todo.inProgress[0]) {
|
|
201
|
-
queueParts.push(...compactWrappedText(`In progress: ${todo.inProgress[0].title}.`, 74, 2));
|
|
246
|
+
queueParts.push(...compactWrappedText(`In progress: ${clarify(todo.inProgress[0].title)}.`, 74, 2));
|
|
202
247
|
} else {
|
|
203
248
|
queueParts.push('In progress: none.');
|
|
204
249
|
}
|
|
205
250
|
if (todo.backlog[0]) {
|
|
206
|
-
queueParts.push(...compactWrappedText(`Next backlog item: ${todo.backlog[0].title}.`, 74, 2));
|
|
251
|
+
queueParts.push(...compactWrappedText(`Next backlog item: ${clarify(todo.backlog[0].title)}.`, 74, 2));
|
|
207
252
|
} else {
|
|
208
253
|
queueParts.push('Next backlog item: none.');
|
|
209
254
|
}
|