@team-agent/installer 0.5.118 → 0.5.120

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 (72) hide show
  1. package/Cargo.lock +1 -1
  2. package/Cargo.toml +1 -1
  3. package/README.md +46 -1
  4. package/README.zh.md +46 -1
  5. package/crates/team-agent/src/cli/adapters.rs +11 -0
  6. package/crates/team-agent/src/cli/arguments.rs +401 -0
  7. package/crates/team-agent/src/cli/emit.rs +241 -142
  8. package/crates/team-agent/src/cli/intent/runtime.rs +1139 -0
  9. package/crates/team-agent/src/cli/intent/runtime_tests.rs +584 -0
  10. package/crates/team-agent/src/cli/intent/tests.rs +654 -0
  11. package/crates/team-agent/src/cli/intent.rs +642 -0
  12. package/crates/team-agent/src/cli/mod.rs +49 -5
  13. package/crates/team-agent/src/cli/named_address.rs +10 -1
  14. package/crates/team-agent/src/cli/spec.rs +22 -10
  15. package/crates/team-agent/src/cli/status_port/brief.rs +117 -16
  16. package/crates/team-agent/src/cli/tests/base.rs +6 -1
  17. package/crates/team-agent/src/cli/tests/parser_safety.rs +383 -0
  18. package/crates/team-agent/src/cli/tests/run_delegation.rs +63 -19
  19. package/crates/team-agent/src/cli/tests/verb_install_skill.rs +3 -2
  20. package/crates/team-agent/src/cli/tests/verb_profile.rs +3 -1
  21. package/crates/team-agent/src/contract_runtime/backend.rs +1 -1
  22. package/crates/team-agent/src/db/message_store.rs +10 -3
  23. package/crates/team-agent/src/lifecycle/launch/quick_start.rs +166 -77
  24. package/crates/team-agent/src/lifecycle/launch.rs +28 -0
  25. package/crates/team-agent/src/lifecycle/restart.rs +17 -0
  26. package/crates/team-agent/src/lifecycle/tests/acceptance_b_batch_red.rs +1 -3
  27. package/crates/team-agent/src/lifecycle/tests/behavioral_diff_264_red.rs +5 -15
  28. package/crates/team-agent/src/lifecycle/tests/claude_compatible_config_red.rs +2 -3
  29. package/crates/team-agent/src/lifecycle/tests/claude_profile_launch_red.rs +2 -3
  30. package/crates/team-agent/src/lifecycle/tests/cli_argv_routing_red.rs +10 -2
  31. package/crates/team-agent/src/lifecycle/tests/clone_agent_preserves_source_tools.rs +8 -1
  32. package/crates/team-agent/src/lifecycle/tests/clone_fork_copilot_perms_red.rs +3 -2
  33. package/crates/team-agent/src/lifecycle/tests/communication_mode_runtime_contract_red.rs +6 -9
  34. package/crates/team-agent/src/lifecycle/tests/copilot_provider_red.rs +7 -5
  35. package/crates/team-agent/src/lifecycle/tests/cursor_mcp_overlay.rs +4 -2
  36. package/crates/team-agent/src/lifecycle/tests/cursor_require_explicit_model_red.rs +5 -2
  37. package/crates/team-agent/src/lifecycle/tests/cursor_restart_resume_red.rs +4 -3
  38. package/crates/team-agent/src/lifecycle/tests/grok_effort_argv_red.rs +2 -4
  39. package/crates/team-agent/src/lifecycle/tests/grok_mcp_overlay_red.rs +3 -4
  40. package/crates/team-agent/src/lifecycle/tests/grok_require_explicit_model_red.rs +5 -4
  41. package/crates/team-agent/src/lifecycle/tests/grok_restart_resume_red.rs +2 -4
  42. package/crates/team-agent/src/lifecycle/tests/launch_spawn.rs +78 -36
  43. package/crates/team-agent/src/lifecycle/tests/phase_b_contracts.rs +8 -4
  44. package/crates/team-agent/src/lifecycle/tests/phase_golden.rs +6 -12
  45. package/crates/team-agent/src/lifecycle/tests/pi_fork_session_inheritance_red.rs +4 -0
  46. package/crates/team-agent/src/lifecycle/tests/startup_latency_contract.rs +1 -3
  47. package/crates/team-agent/src/lifecycle/tests/status_credential_redaction_contract.rs +7 -0
  48. package/crates/team-agent/src/lifecycle/tests/team_in_team_identity_scope_red.rs +1 -3
  49. package/crates/team-agent/src/lifecycle/tests/verify_rs031_window_consistency_red.rs +2 -1
  50. package/crates/team-agent/src/lifecycle/types.rs +10 -0
  51. package/crates/team-agent/src/messaging/delivery.rs +132 -39
  52. package/crates/team-agent/src/messaging/delivery_consumption_tests.rs +223 -0
  53. package/crates/team-agent/src/messaging/enter_rescue.rs +182 -154
  54. package/crates/team-agent/src/messaging/enter_rescue_tests.rs +344 -277
  55. package/crates/team-agent/src/messaging/mod.rs +1 -1
  56. package/crates/team-agent/src/tmux_backend/enter_rescue.rs +325 -0
  57. package/crates/team-agent/src/tmux_backend/enter_rescue_tests.rs +432 -0
  58. package/crates/team-agent/src/tmux_backend/native_input.rs +19 -0
  59. package/crates/team-agent/src/tmux_backend/tests.rs +37 -0
  60. package/crates/team-agent/src/tmux_backend.rs +35 -1
  61. package/crates/team-agent/src/transport/enter_rescue.rs +166 -0
  62. package/crates/team-agent/src/transport/native_input.rs +5 -1
  63. package/crates/team-agent/src/transport/test_support.rs +25 -0
  64. package/crates/team-agent/src/transport.rs +34 -0
  65. package/package.json +4 -4
  66. package/skills/team-agent/SKILL.md +71 -54
  67. package/skills/team-agent/command-coverage.json +283 -13
  68. package/skills/team-agent/docs/reference/team-agent-operator.md +220 -0
  69. package/skills/team-agent/references/bug-as-artifact-flow.md +1 -1
  70. package/skills/team-agent/references/recovery-runbook.md +61 -212
  71. package/skills/team-agent/references/team-agent-operator.md +181 -48
  72. package/skills/team-agent/references/team-in-team.md +47 -80
@@ -8,13 +8,16 @@
8
8
  "end_marker": "<!-- command-coverage:normative-end -->"
9
9
  },
10
10
  "live_help": {
11
- "argv": ["team-agent", "--help"],
11
+ "argv": [
12
+ "team-agent",
13
+ "--help"
14
+ ],
12
15
  "source": "exact_test_binary",
13
16
  "root_command_policy": "canonical_handbook_commands_may_use_compatibility_forms"
14
17
  },
15
18
  "compact_skill_smoke": {
16
19
  "path": "skills/team-agent/SKILL.md",
17
- "policy": "quick_start_and_send_are_subset_only"
20
+ "policy": "all_compact_commands_are_subset_only"
18
21
  }
19
22
  },
20
23
  "commands": [
@@ -67,7 +70,6 @@
67
70
  "owner": "runtime-owner:leader-channel",
68
71
  "plan": "Execute in a hermetic leader fixture and bind assertions to owner/receiver persistence or a precise zero-write refusal."
69
72
  },
70
-
71
73
  {
72
74
  "command": "team-agent claude",
73
75
  "bucket": "declared_gap",
@@ -197,15 +199,24 @@
197
199
  {
198
200
  "command": "team-agent quick-start .team/current",
199
201
  "bucket": "covered",
200
- "cases": ["lnch_001_quick_start_basic"],
202
+ "cases": [
203
+ "lnch_001_quick_start_basic"
204
+ ],
201
205
  "evidence": {
202
206
  "case": "lnch_001_quick_start_basic",
203
207
  "source_file": "crates/team-agent/tests/e2e/cases/lnch_001_quick_start_basic.rs",
204
208
  "invocation": {
205
209
  "runner": "run_ta",
206
210
  "line": 30,
207
- "documented_argv": ["team-agent", "quick-start", ".team/current"],
208
- "literal_argv": ["quick-start", ".team/current"]
211
+ "documented_argv": [
212
+ "team-agent",
213
+ "quick-start",
214
+ ".team/current"
215
+ ],
216
+ "literal_argv": [
217
+ "quick-start",
218
+ ".team/current"
219
+ ]
209
220
  },
210
221
  "binding": {
211
222
  "name": "out",
@@ -227,19 +238,27 @@
227
238
  }
228
239
  }
229
240
  },
230
-
231
241
  {
232
242
  "command": "team-agent quick-start <dir>",
233
243
  "bucket": "covered",
234
- "cases": ["lnch_001_quick_start_basic"],
244
+ "cases": [
245
+ "lnch_001_quick_start_basic"
246
+ ],
235
247
  "evidence": {
236
248
  "case": "lnch_001_quick_start_basic",
237
249
  "source_file": "crates/team-agent/tests/e2e/cases/lnch_001_quick_start_basic.rs",
238
250
  "invocation": {
239
251
  "runner": "run_ta",
240
252
  "line": 30,
241
- "documented_argv": ["team-agent", "quick-start", "<dir>"],
242
- "literal_argv": ["quick-start", ".team/current"]
253
+ "documented_argv": [
254
+ "team-agent",
255
+ "quick-start",
256
+ "<dir>"
257
+ ],
258
+ "literal_argv": [
259
+ "quick-start",
260
+ ".team/current"
261
+ ]
243
262
  },
244
263
  "binding": {
245
264
  "name": "out",
@@ -310,7 +329,6 @@
310
329
  "owner": "runtime-owner:restart",
311
330
  "plan": "Execute a representative team selector and bind assertions to selected-team restart and sibling preservation."
312
331
  },
313
-
314
332
  {
315
333
  "command": "team-agent send --task task_initial \"Start\"",
316
334
  "bucket": "declared_gap",
@@ -330,7 +348,7 @@
330
348
  "bucket": "declared_gap",
331
349
  "covered": false,
332
350
  "owner": "runtime-owner:messaging",
333
- "plan": "Execute the exact argv in an isolated coder fixture and bind assertions to blocked-before-watch or the same-message result closure."
351
+ "plan": "Retain as a historical negative argv, not a recommended send recipe: bind the unsupported-flag Usage=2 refusal and zero message/result writes in isolation."
334
352
  },
335
353
  {
336
354
  "command": "team-agent send TO MESSAGE",
@@ -393,7 +411,7 @@
393
411
  "bucket": "declared_gap",
394
412
  "covered": false,
395
413
  "owner": "runtime-owner:status",
396
- "plan": "Execute the exact argv and bind assertions to detail-only coordinator, readiness, and tmux fields."
414
+ "plan": "Execute the compatibility detail flag and assert the same concise readonly node projection: original nine fields, plus observation_reason and scoped next_action for uncertainty; no coordinator/history dump or detail-only fields are implied."
397
415
  },
398
416
  {
399
417
  "command": "team-agent status --json",
@@ -408,6 +426,258 @@
408
426
  "covered": false,
409
427
  "owner": "runtime-owner:status",
410
428
  "plan": "Execute the exact coder status argv and bind assertions to coder-only presentation without sibling leakage."
429
+ },
430
+ {
431
+ "command": "team-agent --version",
432
+ "bucket": "declared_gap",
433
+ "covered": false,
434
+ "owner": "runtime-owner:public-cli",
435
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
436
+ },
437
+ {
438
+ "command": "team-agent agent clone reviewer --as second-reviewer --workspace . --team project-team",
439
+ "bucket": "declared_gap",
440
+ "covered": false,
441
+ "owner": "runtime-owner:public-cli",
442
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
443
+ },
444
+ {
445
+ "command": "team-agent agent fork reviewer --as continued-reviewer --workspace . --team project-team",
446
+ "bucket": "declared_gap",
447
+ "covered": false,
448
+ "owner": "runtime-owner:public-cli",
449
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
450
+ },
451
+ {
452
+ "command": "team-agent agent remove reviewer --confirm --workspace . --team project-team",
453
+ "bucket": "declared_gap",
454
+ "covered": false,
455
+ "owner": "runtime-owner:public-cli",
456
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
457
+ },
458
+ {
459
+ "command": "team-agent agent reset reviewer --discard-session --workspace . --team project-team",
460
+ "bucket": "declared_gap",
461
+ "covered": false,
462
+ "owner": "runtime-owner:public-cli",
463
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
464
+ },
465
+ {
466
+ "command": "team-agent agent restart reviewer --session preserve --workspace . --team project-team",
467
+ "bucket": "declared_gap",
468
+ "covered": false,
469
+ "owner": "runtime-owner:public-cli",
470
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
471
+ },
472
+ {
473
+ "command": "team-agent doctor --workspace . --json",
474
+ "bucket": "declared_gap",
475
+ "covered": false,
476
+ "owner": "runtime-owner:public-cli",
477
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
478
+ },
479
+ {
480
+ "command": "team-agent inbox leader --workspace . --team project-team -n 3",
481
+ "bucket": "declared_gap",
482
+ "covered": false,
483
+ "owner": "runtime-owner:public-cli",
484
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
485
+ },
486
+ {
487
+ "command": "team-agent models --provider NAME",
488
+ "bucket": "declared_gap",
489
+ "covered": false,
490
+ "owner": "runtime-owner:public-cli",
491
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
492
+ },
493
+ {
494
+ "command": "team-agent profile init my-api --auth-mode compatible_api --workspace .",
495
+ "bucket": "declared_gap",
496
+ "covered": false,
497
+ "owner": "runtime-owner:public-cli",
498
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
499
+ },
500
+ {
501
+ "command": "team-agent restart reviewer --workspace . --team project-team",
502
+ "bucket": "declared_gap",
503
+ "covered": false,
504
+ "owner": "runtime-owner:public-cli",
505
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
506
+ },
507
+ {
508
+ "command": "team-agent route add pi -- --verbose",
509
+ "bucket": "declared_gap",
510
+ "covered": false,
511
+ "owner": "runtime-owner:public-cli",
512
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
513
+ },
514
+ {
515
+ "command": "team-agent route clear pi",
516
+ "bucket": "declared_gap",
517
+ "covered": false,
518
+ "owner": "runtime-owner:public-cli",
519
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
520
+ },
521
+ {
522
+ "command": "team-agent route disable",
523
+ "bucket": "declared_gap",
524
+ "covered": false,
525
+ "owner": "runtime-owner:public-cli",
526
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
527
+ },
528
+ {
529
+ "command": "team-agent route enable",
530
+ "bucket": "declared_gap",
531
+ "covered": false,
532
+ "owner": "runtime-owner:public-cli",
533
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
534
+ },
535
+ {
536
+ "command": "team-agent route set pi -- --mode rpc",
537
+ "bucket": "declared_gap",
538
+ "covered": false,
539
+ "owner": "runtime-owner:public-cli",
540
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
541
+ },
542
+ {
543
+ "command": "team-agent route show pi --json",
544
+ "bucket": "declared_gap",
545
+ "covered": false,
546
+ "owner": "runtime-owner:public-cli",
547
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
548
+ },
549
+ {
550
+ "command": "team-agent route status --json",
551
+ "bucket": "declared_gap",
552
+ "covered": false,
553
+ "owner": "runtime-owner:public-cli",
554
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
555
+ },
556
+ {
557
+ "command": "team-agent send reviewer \"Review the current change and report the main risk.\" --workspace . --team project-team",
558
+ "bucket": "declared_gap",
559
+ "covered": false,
560
+ "owner": "runtime-owner:public-cli",
561
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
562
+ },
563
+ {
564
+ "command": "team-agent send reviewer \"Review this change\" --workspace . --team project-team",
565
+ "bucket": "declared_gap",
566
+ "covered": false,
567
+ "owner": "runtime-owner:public-cli",
568
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
569
+ },
570
+ {
571
+ "command": "team-agent start --from ./my-team --workspace . --team project-team",
572
+ "bucket": "declared_gap",
573
+ "covered": false,
574
+ "owner": "runtime-owner:public-cli",
575
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
576
+ },
577
+ {
578
+ "command": "team-agent start --from .team/current --workspace . --team project-team",
579
+ "bucket": "declared_gap",
580
+ "covered": false,
581
+ "owner": "runtime-owner:public-cli",
582
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
583
+ },
584
+ {
585
+ "command": "team-agent start --help",
586
+ "bucket": "declared_gap",
587
+ "covered": false,
588
+ "owner": "runtime-owner:public-cli",
589
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
590
+ },
591
+ {
592
+ "command": "team-agent start --workspace . --team project-team",
593
+ "bucket": "declared_gap",
594
+ "covered": false,
595
+ "owner": "runtime-owner:public-cli",
596
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
597
+ },
598
+ {
599
+ "command": "team-agent start analyst --provider pi --bypass false --prompt \"Analyze the proposed change\"",
600
+ "bucket": "declared_gap",
601
+ "covered": false,
602
+ "owner": "runtime-owner:public-cli",
603
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
604
+ },
605
+ {
606
+ "command": "team-agent start auditor --role-file /absolute/path/to/auditor.md",
607
+ "bucket": "declared_gap",
608
+ "covered": false,
609
+ "owner": "runtime-owner:public-cli",
610
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
611
+ },
612
+ {
613
+ "command": "team-agent start reviewer --effort high --bypass false",
614
+ "bucket": "declared_gap",
615
+ "covered": false,
616
+ "owner": "runtime-owner:public-cli",
617
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
618
+ },
619
+ {
620
+ "command": "team-agent start reviewer --effort high --bypass false --workspace . --team project-team",
621
+ "bucket": "declared_gap",
622
+ "covered": false,
623
+ "owner": "runtime-owner:public-cli",
624
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
625
+ },
626
+ {
627
+ "command": "team-agent start reviewer --workspace . --team project-team",
628
+ "bucket": "declared_gap",
629
+ "covered": false,
630
+ "owner": "runtime-owner:public-cli",
631
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
632
+ },
633
+ {
634
+ "command": "team-agent stop --workspace . --team project-team --json",
635
+ "bucket": "declared_gap",
636
+ "covered": false,
637
+ "owner": "runtime-owner:public-cli",
638
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
639
+ },
640
+ {
641
+ "command": "team-agent stop reviewer",
642
+ "bucket": "declared_gap",
643
+ "covered": false,
644
+ "owner": "runtime-owner:public-cli",
645
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
646
+ },
647
+ {
648
+ "command": "team-agent stop reviewer --workspace . --team project-team",
649
+ "bucket": "declared_gap",
650
+ "covered": false,
651
+ "owner": "runtime-owner:public-cli",
652
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
653
+ },
654
+ {
655
+ "command": "team-agent team --help",
656
+ "bucket": "declared_gap",
657
+ "covered": false,
658
+ "owner": "runtime-owner:public-cli",
659
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
660
+ },
661
+ {
662
+ "command": "team-agent team restart --session preserve --workspace . --team project-team",
663
+ "bucket": "declared_gap",
664
+ "covered": false,
665
+ "owner": "runtime-owner:public-cli",
666
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
667
+ },
668
+ {
669
+ "command": "team-agent team restart --workspace . --team project-team",
670
+ "bucket": "declared_gap",
671
+ "covered": false,
672
+ "owner": "runtime-owner:public-cli",
673
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
674
+ },
675
+ {
676
+ "command": "team-agent team restart --workspace . --team project-team --json",
677
+ "bucket": "declared_gap",
678
+ "covered": false,
679
+ "owner": "runtime-owner:public-cli",
680
+ "plan": "Bind this exact documented argv to an isolated HermeticTestEnv result and an assertion/negative-twin pair before promotion. For lifecycle use an authorized owned team and verify scope, identity, outcome and cleanup; help or readonly plans alone do not establish lifecycle coverage."
411
681
  }
412
682
  ]
413
683
  }
@@ -0,0 +1,220 @@
1
+ # Team Agent operator reference
2
+
3
+ Canonical source: `docs/reference/team-agent-operator.md`. The two packaged mirrors under `skills/team-agent/docs/reference/` and `skills/team-agent/references/` are byte-identical; update the source and synchronize both, never maintain divergent operating instructions.
4
+
5
+ <!-- command-coverage:normative-start -->
6
+ ## Normative command inventory and compatibility accountability
7
+
8
+ The current daily forms below are coverage authorities, not permission to execute every command. Provider/permission choices, scope, caller, session and capability guards in this guide still apply. New forms remain honestly `declared_gap` until the strict source/assertion/negative-twin evidence exists; successful Help or a separate finite journey is not automatic promotion. Every compact-Skill command must belong to exactly one coverage bucket.
9
+
10
+ ### Current documented forms
11
+ ```text
12
+ team-agent --version
13
+ team-agent agent clone reviewer --as second-reviewer --workspace . --team project-team
14
+ team-agent agent fork reviewer --as continued-reviewer --workspace . --team project-team
15
+ team-agent agent remove reviewer --confirm --workspace . --team project-team
16
+ team-agent agent reset reviewer --discard-session --workspace . --team project-team
17
+ team-agent agent restart reviewer --session preserve --workspace . --team project-team
18
+ team-agent doctor --workspace . --json
19
+ team-agent inbox leader --workspace . --team project-team -n 3
20
+ team-agent models --provider NAME
21
+ team-agent profile init my-api --auth-mode compatible_api --workspace .
22
+ team-agent restart reviewer --workspace . --team project-team
23
+ team-agent route add pi -- --verbose
24
+ team-agent route clear pi
25
+ team-agent route disable
26
+ team-agent route enable
27
+ team-agent route set pi -- --mode rpc
28
+ team-agent route show pi --json
29
+ team-agent route status --json
30
+ team-agent send reviewer "Review the current change and report the main risk." --workspace . --team project-team
31
+ team-agent send reviewer "Review this change" --workspace . --team project-team
32
+ team-agent start --from ./my-team --workspace . --team project-team
33
+ team-agent start --from .team/current --workspace . --team project-team
34
+ team-agent start --help
35
+ team-agent start --workspace . --team project-team
36
+ team-agent start analyst --provider pi --bypass false --prompt "Analyze the proposed change"
37
+ team-agent start auditor --role-file /absolute/path/to/auditor.md
38
+ team-agent start reviewer --effort high --bypass false
39
+ team-agent start reviewer --effort high --bypass false --workspace . --team project-team
40
+ team-agent start reviewer --workspace . --team project-team
41
+ team-agent status --json
42
+ team-agent stop --workspace . --team project-team --json
43
+ team-agent stop reviewer
44
+ team-agent stop reviewer --workspace . --team project-team
45
+ team-agent team --help
46
+ team-agent team restart --session preserve --workspace . --team project-team
47
+ team-agent team restart --workspace . --team project-team
48
+ team-agent team restart --workspace . --team project-team --json
49
+ ```
50
+
51
+ ### Retained compatibility and negative-probe forms — NOT daily recipes
52
+ The following old argv remain in the closed-world catalog for existing scripts and historical tests. Some intentionally invalid or removed flag combinations are negative probes, not supported operational advice. Existing covered records keep their original evidence and are not renamed to imply new-command coverage.
53
+
54
+ ```text
55
+ team-agent add-agent <agent> --role-file <file>
56
+ team-agent add-agent reviewer --role-file .team/current/agents/reviewer.md --workspace .
57
+ team-agent approvals
58
+ team-agent approvals <agent_id>
59
+ team-agent approvals [coder]
60
+ team-agent attach-leader
61
+ team-agent claim-leader
62
+ team-agent claude
63
+ team-agent clone-agent <source> --as <new>
64
+ team-agent codex
65
+ team-agent codex --dangerously-bypass-approvals-and-sandbox
66
+ team-agent doctor
67
+ team-agent fork-agent <source> --as <new>
68
+ team-agent inbox <agent_id> -n 3
69
+ team-agent inbox coder -n 3
70
+ team-agent profile doctor <name> --workspace . --json
71
+ team-agent profile init <name> --auth-mode subscription --workspace .
72
+ team-agent profile init claude-default --auth-mode subscription --workspace .
73
+ team-agent profile init codex-default --auth-mode subscription --workspace .
74
+ team-agent profile init deepseek --auth-mode compatible_api --workspace .
75
+ team-agent profile show <name> --workspace . --json
76
+ team-agent profile show deepseek --workspace . --json
77
+ team-agent quick-start
78
+ team-agent quick-start ./roles --team-id alpha
79
+ team-agent quick-start .team/alpha
80
+ team-agent quick-start .team/current
81
+ team-agent quick-start <dir>
82
+ team-agent quick-start <plain-text-team-dir>
83
+ team-agent remove-agent <agent> --workspace . --confirm
84
+ team-agent reset-agent <agent> --discard-session
85
+ team-agent restart
86
+ team-agent restart .
87
+ team-agent restart . --allow-fresh
88
+ team-agent restart . --team <session_name_or_team_name>
89
+ team-agent send --task task_initial "Start"
90
+ team-agent send --watch-result
91
+ team-agent send --watch-result coder "Do the bounded task"
92
+ team-agent send TO MESSAGE
93
+ team-agent send reviewer "..."
94
+ team-agent send reviewer "Review this change"
95
+ team-agent shutdown --workspace . --keep-logs
96
+ team-agent start-agent <agent>
97
+ team-agent start-agent <agent_id> --workspace .
98
+ team-agent start-agent coder --workspace .
99
+ team-agent status
100
+ team-agent status --detail --json
101
+ team-agent status coder
102
+ ```
103
+
104
+ The exact test binary's root Help complements this marked inventory; it does not authorize model launches or convert untested forms into covered claims.
105
+ <!-- command-coverage:normative-end -->
106
+
107
+ Only the authorized Leader operates team lifecycle. Check the chosen binary's `start --help` and `team --help`; an old installed CLI or a reused candidate version string is not proof of the intuitive surface. Do not silently install, switch binaries or copy credentials to make an example work.
108
+
109
+ ## Configure once, use start/stop
110
+
111
+ A source directory contains `TEAM.md` and at least one role:
112
+
113
+ ```text
114
+ my-team/
115
+ TEAM.md
116
+ agents/reviewer.md
117
+ ```
118
+
119
+ The body of `TEAM.md` is the team goal. Each role body contains instructions; the filename stem is the default agent ID. Record the user's provider and boolean bypass decisions for a new plan. From the native Leader tool context in the workspace:
120
+
121
+ ```sh
122
+ team-agent start --from ./my-team --workspace . --team project-team
123
+ team-agent start --workspace . --team project-team
124
+ team-agent send reviewer "Review the current change and report the main risk." --workspace . --team project-team
125
+ team-agent inbox leader --workspace . --team project-team -n 3
126
+ team-agent stop --workspace . --team project-team --json
127
+ ```
128
+
129
+ Creation needs complete configuration; start is not automatic template generation or state repair. Later start starts stopped non-paused members, including explicitly stopped members, and leaves verified live/drift-free instances unchanged. A no-op does not synchronize role bodies, apply new launch settings or prove tool/business readiness. A queued send is not completion; wait for a natural reply/result.
130
+
131
+ ## Scope and deterministic targets
132
+
133
+ - Pin `--workspace PATH` and `--team KEY` when operating outside the selected team, across workspaces or when several teams exist.
134
+ - `start reviewer.v2` is an agent, even if that directory exists. Team sources use `--from DIR`, `team start DIR` or explicit path syntax such as `./my-team`.
135
+ - `restart ID` selects an agent; a same-named directory causes conservative refusal. `agent restart ID` removes the ambiguity.
136
+ - Explicit missing paths, unknown flags, conflicts and extra arguments refuse; do not try a guessed CWD or takeover instead.
137
+ - `--dry-run` on start/restart has no lifecycle effects. A proposed plan is not final lock-held admission. No eligible targets returns nonzero with the selected scope and skipped seats, not a successful start.
138
+
139
+ ## User decisions and compatibility
140
+
141
+ Do not silently pick provider, model, effort or bypass. False preserves native permissions; it is not a read-only or sandbox guarantee. Use supported `models --provider NAME` discovery and retain exact model IDs.
142
+
143
+ Traditional minimal Markdown remains accepted by the original compiler. Its compatibility interpretation is **not a default for a new user plan**: provider defaults to Pi, bypass to false, and unset model/effort are left to the provider. Team Agent does not infer a role model from TEAM defaults. Legacy explicit TEAM provider_effort remains supported for non-Pi roles; do not invent an effort for unspecified roles.
144
+
145
+ Supported role metadata:
146
+ - `agent_id` (legacy `name`) and `role` identify the seat.
147
+ - `provider`, `model`, `effort`, and boolean `dangerously_skip_permissions` select intentional launch settings.
148
+ - `auth_mode` and `profile` refer to local provider configuration.
149
+ - `communication_mode` selects an admitted communication contract.
150
+ - Historical `tools`, `permission_mode` and `label` do not restrict worker tools or permissions.
151
+
152
+ ## Add or wake with start
153
+
154
+ A RoleOnly seat can be registered from its complete role file. A genuinely absent ID needs a complete file or explicit provider/bypass choices. These Pi/false values are examples of user decisions, not defaults:
155
+
156
+ ```sh
157
+ team-agent start auditor --role-file /absolute/path/to/auditor.md
158
+ team-agent start analyst --provider pi --bypass false --prompt "Analyze the proposed change"
159
+ ```
160
+
161
+ An imported external role goes into this team's `agents/ID.md`; the original stays untouched. A file already at that destination is used in place. Equal file/CLI definitions are accepted; conflicting provider/model/effort/bypass/prompt/profile values refuse before writes/startup. Omitted model, effort, profile and role body remain unchanged.
162
+
163
+ Use `agent add` when explicitly requesting strict add-only behavior. It creates and starts a new seat but refuses an occupied ID, including stopped seats. Its disaster-recovery `--force` still requires a positively dead registered old pane and no live target cohort; a live or unknown target refuses. Force is not a role-update or routine restart shortcut.
164
+
165
+ ## Change a registered seat
166
+
167
+ ```sh
168
+ team-agent stop reviewer --workspace . --team project-team
169
+ team-agent start reviewer --effort high --bypass false --workspace . --team project-team
170
+ ```
171
+
172
+ Stop first before applying edited instructions or launch settings. A running seat with requested changes or known drift refuses rather than claiming a successful no-op. `--prompt` replaces permanent role instructions, not a one-time task; send one-time work with `send`. `--bypass` requires explicit true/false. Matching provider is allowed, but changing engines, even by file edits, is refused; use a new ID.
173
+
174
+ The original role/spec transaction and provider admission remain authoritative. A failure is not an applied update; never assume a partial/unknown native replacement was rolled back or is safe to retry. Inspect the exact scoped receipt, status and doctor first.
175
+
176
+ ## Restart and session policy
177
+
178
+ ```sh
179
+ team-agent restart reviewer --workspace . --team project-team
180
+ team-agent team restart --workspace . --team project-team
181
+ # Strict continuation: refuse before stop if known continuation evidence is absent.
182
+ team-agent agent restart reviewer --session preserve --workspace . --team project-team
183
+ team-agent team restart --session preserve --workspace . --team project-team
184
+ ```
185
+
186
+ New agent/team restart defaults to **auto**: proven resume when possible, otherwise only the provider's existing legal fresh path. Auto is not a guarantee of saved memory, reset permission or a fallback around native capability refusal. Preserve requests strict continuation. The old bare/explicit-path restart bridge retains its original preserve default and output.
187
+
188
+ Single-agent restart checks scope, role/session backing and capabilities before stop; only confirmed stop allows start. On partial failure, report actual completed steps and inspect; do not blindly reset or replay. Team restart does not reactivate explicitly stopped or paused seats. Whole-team start intentionally activates the selected non-paused roster; neither command silently unpauses.
189
+
190
+ ## Explicit agent operations
191
+
192
+ ```sh
193
+ team-agent agent remove reviewer --confirm --workspace . --team project-team
194
+ # Only after explicit authorization to discard this worker's context:
195
+ team-agent agent reset reviewer --discard-session --workspace . --team project-team
196
+ team-agent agent clone reviewer --as second-reviewer --workspace . --team project-team
197
+ team-agent agent fork reviewer --as continued-reviewer --workspace . --team project-team
198
+ ```
199
+
200
+ Remove/reset/clone/fork retain original confirmation, ownership and provider-capability gates. Clone copies configuration; fork is a new-seat continuation only where admitted. `--in-place` is unsupported. Unsupported native lifecycle is a refusal, never permission to silently use a legacy engine. Reset does not erase every native provider archive and must not be incident recovery's first response.
201
+
202
+ ## Profiles and custom models
203
+
204
+ Profiles keep authentication/endpoints outside role text. Imported roles use this team's/workspace's profiles, not the external role's original directory. Prepare a named profile locally through public commands; never discover, copy or print external credentials:
205
+
206
+ ```sh
207
+ team-agent profile init my-api --auth-mode compatible_api --workspace .
208
+ ```
209
+
210
+ A role may explicitly reference `auth_mode: compatible_api` and `profile: my-api`, with the user's chosen provider/bypass. Profile model applies only when the role has no explicit override. Subscription and custom-API capabilities differ; follow actual provider admission, not a generic promise.
211
+
212
+ ## Observe and finish
213
+
214
+ `status` / `team status` expose the concise node projection; `--detail` does not restore historical internal dumps. Use `doctor` for diagnosis. Check actual readiness and returned recovery actions; unknown evidence is not a stopped/live proof. Stop with `stop --workspace PATH --team KEY --json` and verify scoped residual sessions, processes and owned files. Protect parent/sibling/shared resources.
215
+
216
+ Workers have only `send_message`, `report_result` and optional `get_team_status`. Report completion through `report_result`; do not promote a worker to lifecycle operator. See [nested teams](https://github.com/Florious95/team-agent/blob/main/skills/team-agent/references/team-in-team.md) and [recovery](https://github.com/Florious95/team-agent/blob/main/skills/team-agent/references/recovery-runbook.md).
217
+
218
+ ## Legacy command bridges
219
+
220
+ Existing scripts may retain `quick-start`, `shutdown`, and `add-agent/start-agent/stop-agent/remove-agent/reset-agent/clone-agent/fork-agent`. These are compatibility interfaces, not the daily workflow. Use the short/team/agent forms above for new instructions. Do not mechanically rename scripts: legacy start refuses a live seat, new start can prove a no-op; bare/explicit-path legacy restart preserves its default. Old normal command output and failure evidence remain authoritative.
@@ -73,7 +73,7 @@ linked-release: <version-or-status>
73
73
 
74
74
  ## Relationship to SKILL.md
75
75
 
76
- SKILL.md 保留团队 CLI 操作必备(quick-start / send / status / restart / shutdown / failure rules / worker protocol)。所有【流程/治理】层面的扩展(release flow / bug flow / 看板基础)都从 SKILL.md 分出到 references/,以保持 SKILL 主体的【最关键】定位。
76
+ SKILL.md 保留日常 CLI 操作主路(start / stop / team restart / agent 操作 / send / status / failure rules / worker protocol)。旧创建、关闭与后缀命令仅作为兼容桥接,不再用作日常操作指引;历史案卷中的原命令不改写。所有【流程/治理】层面的扩展(release flow / bug flow / 看板基础)仍放在 references/,不借本次命令对齐扩展治理或发布权限。
77
77
 
78
78
  ## Relationship to future Web Kanban
79
79