atris 3.15.41 → 3.15.43
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/commands/play.js +35 -5
- package/package.json +1 -1
package/commands/play.js
CHANGED
|
@@ -250,11 +250,21 @@ function starterMissionPrompt(player) {
|
|
|
250
250
|
`Player ${player}: enter AgentXP Mode in this local workspace.`,
|
|
251
251
|
'Pick one small useful contribution you can finish today: improve a doc, verify setup, create a handoff, or fix a tiny tool.',
|
|
252
252
|
'Have an agent help produce a real artifact plus verifier proof.',
|
|
253
|
-
'
|
|
253
|
+
'When proof is ready, review it before accept/revise; weak proof should be revised.',
|
|
254
254
|
'Win condition: one accepted proof-backed rep visible on the local AgentXP card.',
|
|
255
255
|
].join(' ');
|
|
256
256
|
}
|
|
257
257
|
|
|
258
|
+
function proofRecipe() {
|
|
259
|
+
return {
|
|
260
|
+
artifact: 'Create or update one concrete artifact in this folder, for example AGENTXP_PROOF.md, README.md, or a small fixed file.',
|
|
261
|
+
verifier: 'Run a command that can fail if proof is missing or broken, for example test -s AGENTXP_PROOF.md or npm test.',
|
|
262
|
+
ready_proof: 'Paste the artifact path and verifier result into atris task ready.',
|
|
263
|
+
review: 'Accept only after reviewing the proof; weak proof should be revised.',
|
|
264
|
+
solo_review_rule: 'For a solo public smoke, accept only after you inspect the proof. For team missions, use a separate human reviewer.',
|
|
265
|
+
};
|
|
266
|
+
}
|
|
267
|
+
|
|
258
268
|
function globalSyncCommands(player) {
|
|
259
269
|
return [
|
|
260
270
|
'atris login',
|
|
@@ -263,6 +273,16 @@ function globalSyncCommands(player) {
|
|
|
263
273
|
];
|
|
264
274
|
}
|
|
265
275
|
|
|
276
|
+
function handleSourceLine(state) {
|
|
277
|
+
const source = state.player_source || 'unknown';
|
|
278
|
+
if (source === 'flag') return 'Handle source: --as/--player.';
|
|
279
|
+
if (source === 'env') return 'Handle source: ATRIS_PLAYER/ATRIS_USERNAME.';
|
|
280
|
+
if (source === 'atris_account' || source === 'atris_session' || source === 'atris_profile') {
|
|
281
|
+
return `Handle source: ${source.replace(/_/g, ' ')}.`;
|
|
282
|
+
}
|
|
283
|
+
return 'Handle source: inferred. To choose one, run atris play --as <handle> or ATRIS_PLAYER=<handle> atris play.';
|
|
284
|
+
}
|
|
285
|
+
|
|
266
286
|
function ensureStarterMission(taskDb, db, workspaceRoot, player, tasks, args = []) {
|
|
267
287
|
if (hasFlag(args, '--no-seed')) return { tasks, seeded: null };
|
|
268
288
|
if (selectMission(tasks, player)) return { tasks, seeded: null };
|
|
@@ -319,7 +339,7 @@ function nextCommands(task, player) {
|
|
|
319
339
|
if (task.status === 'open') {
|
|
320
340
|
return [
|
|
321
341
|
`atris task claim ${ref} --as ${helper}`,
|
|
322
|
-
`atris task ready ${ref} --as ${helper} --proof "
|
|
342
|
+
`atris task ready ${ref} --as ${helper} --proof "AGENTXP_PROOF.md + test -s AGENTXP_PROOF.md passed"`,
|
|
323
343
|
`atris task accept ${ref} --as ${player} --proof "<human review>"`,
|
|
324
344
|
'atris xp card --local',
|
|
325
345
|
...globalSyncCommands(player),
|
|
@@ -329,7 +349,7 @@ function nextCommands(task, player) {
|
|
|
329
349
|
if (task.status === 'claimed') {
|
|
330
350
|
const actor = task.claimed_by || helper;
|
|
331
351
|
return [
|
|
332
|
-
`atris task ready ${ref} --as ${actor} --proof "
|
|
352
|
+
`atris task ready ${ref} --as ${actor} --proof "AGENTXP_PROOF.md + test -s AGENTXP_PROOF.md passed"`,
|
|
333
353
|
`atris task accept ${ref} --as ${player} --proof "<human review>"`,
|
|
334
354
|
'atris xp card --local',
|
|
335
355
|
...globalSyncCommands(player),
|
|
@@ -396,7 +416,8 @@ function modeState(args = []) {
|
|
|
396
416
|
claimed_by: mission.claimed_by || null,
|
|
397
417
|
prompt: latestMessage(events),
|
|
398
418
|
} : null,
|
|
399
|
-
|
|
419
|
+
proof_recipe: proofRecipe(),
|
|
420
|
+
xp_rule: 'AgentXP lands only after a useful artifact has verifier proof and review accepts it.',
|
|
400
421
|
global_sync_rule: AGENTXP_GLOBAL_SYNC_RULE,
|
|
401
422
|
leaderboard_url: AGENTXP_LEADERBOARD_URL,
|
|
402
423
|
next_commands: commandList,
|
|
@@ -407,6 +428,7 @@ function render(state) {
|
|
|
407
428
|
console.log('');
|
|
408
429
|
console.log('AgentXP Mode');
|
|
409
430
|
console.log(`Player ${state.player} | Workspace ${state.workspace_name}`);
|
|
431
|
+
console.log(handleSourceLine(state));
|
|
410
432
|
console.log('');
|
|
411
433
|
|
|
412
434
|
if (!state.mission) {
|
|
@@ -430,9 +452,17 @@ function render(state) {
|
|
|
430
452
|
}
|
|
431
453
|
console.log('');
|
|
432
454
|
console.log('Win condition: real artifact + verifier + human accept.');
|
|
433
|
-
console.log('XP rule: no proof, no AgentXP; accept/revise
|
|
455
|
+
console.log('XP rule: no proof, no AgentXP; accept/revise is the review gate.');
|
|
434
456
|
console.log('Global sync: run atris login, then sync; owner tokens are guided-demo fallback only.');
|
|
435
457
|
console.log(`Leaderboard: ${state.leaderboard_url}`);
|
|
458
|
+
if (state.proof_recipe) {
|
|
459
|
+
console.log('');
|
|
460
|
+
console.log('Proof recipe:');
|
|
461
|
+
console.log(`- Artifact: ${state.proof_recipe.artifact}`);
|
|
462
|
+
console.log(`- Verifier: ${state.proof_recipe.verifier}`);
|
|
463
|
+
console.log(`- Ready proof: ${state.proof_recipe.ready_proof}`);
|
|
464
|
+
console.log(`- Review: ${state.proof_recipe.review}`);
|
|
465
|
+
}
|
|
436
466
|
console.log('');
|
|
437
467
|
console.log('Next commands:');
|
|
438
468
|
for (const command of state.next_commands) console.log(`- ${command}`);
|