@deftai/directive-content 0.91.0 → 0.93.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.agents/skills/deft-directive-xbrief/SKILL.md +11 -0
  2. package/QUICK-START.md +1 -1
  3. package/UPGRADING.md +14 -0
  4. package/ci-cd/README.md +57 -0
  5. package/ci-cd/blacksmith/README.md +32 -0
  6. package/ci-cd/blacksmith/examples/lint-vs-test-split.md +98 -0
  7. package/ci-cd/blacksmith/migration-prompt.md +80 -0
  8. package/ci-cd/blacksmith/overview.md +58 -0
  9. package/ci-cd/blacksmith/runner-tiers.md +80 -0
  10. package/coding/coding.md +7 -1
  11. package/coding/docs.md +44 -0
  12. package/coding/review.md +50 -0
  13. package/commands.md +43 -0
  14. package/conventions/content-manifest.json +6 -1
  15. package/deployments/README.md +8 -0
  16. package/docs/deft-directive-disable.md +96 -0
  17. package/docs/directive-lifecycle.md +16 -0
  18. package/docs/getting-started.md +2 -0
  19. package/docs/no-deft-directive.md +1 -0
  20. package/docs/openclaw-agent-host.md +46 -0
  21. package/docs/skill-discovery-hosts.md +84 -0
  22. package/docs/skill-pin-policy.md +7 -0
  23. package/docs/slash-multi-host.md +241 -0
  24. package/main.md +1 -0
  25. package/package.json +1 -1
  26. package/packs/lessons/lessons-pack-0.1.json +85 -45
  27. package/packs/rules/rules-pack-0.1.json +137 -1
  28. package/packs/skills/skills-pack-0.1.json +25 -6
  29. package/skills/deft-directive-pre-pr/SKILL.md +8 -5
  30. package/skills/deft-directive-review-cycle/SKILL.md +75 -20
  31. package/skills/deft-directive-setup/SKILL.md +104 -1
  32. package/skills/deft-directive-swarm/references/core-ops.md +1 -0
  33. package/skills/deft-directive-swarm/references/core-phase-0.md +6 -0
  34. package/skills/deft-directive-swarm/references/host-openclaw.md +10 -0
  35. package/skills/deft-directive-xbrief/SKILL.md +77 -0
  36. package/templates/agent-prompt-preamble.md +3 -0
  37. package/templates/agents-entry.md +10 -0
  38. package/templates/swarm-greptile-poller-prompt.md +48 -5
@@ -426,10 +426,14 @@ Send to parent:
426
426
 
427
427
  Subject: PR #{pr_number} CLEAN -- ready for merge
428
428
  Body:
429
- Greptile review on HEAD <sha> is clean.
429
+ STATUS: DONE
430
+ HEAD: <sha>
431
+ CHECKS: <list of CheckRun statuses>
432
+ MERGE: n/a
433
+ ISSUE: open
434
+ NOTES: Greptile CLEAN confidence <N>/5; ready for merge
430
435
  Confidence: <N>/5
431
436
  Findings: P0=0, P1=0
432
- CI: <list of CheckRun statuses>
433
437
  Last reviewed commit: <sha>
434
438
  -- no more polling, exiting now
435
439
 
@@ -445,9 +449,13 @@ If the same review surfaces 3 consecutive review cycles (push -> review -> still
445
449
 
446
450
  Subject: PR #{pr_number} escalation -- 3 review cycles still surfacing P0/P1
447
451
  Body:
448
- Three consecutive review cycles after push still surfaced P0/P1 findings.
452
+ STATUS: BLOCKED
453
+ HEAD: <sha>
454
+ CHECKS: see latest findings
455
+ MERGE: n/a
456
+ ISSUE: open
457
+ NOTES: 3 review cycles still surfacing P0/P1; <summary>
449
458
  Latest findings: <summary>
450
- Latest HEAD: <sha>
451
459
  -- no more polling, exiting now
452
460
 
453
461
  ### (3) ERRORED
@@ -458,7 +466,12 @@ Retry ONCE: post `@greptileai review` as a PR comment via `gh pr comment {pr_num
458
466
 
459
467
  Subject: PR #{pr_number} Greptile errored -- escalation required
460
468
  Body:
461
- Greptile errored on HEAD <sha>; retry via @greptileai also errored.
469
+ STATUS: FAILED
470
+ HEAD: <sha>
471
+ CHECKS: Greptile errored (retry also errored)
472
+ MERGE: n/a
473
+ ISSUE: open
474
+ NOTES: escalate per swarm Phase 6 Step 1 (wait / empty retrigger / override)
462
475
  Parent should escalate to user with the three-way choice per
463
476
  skills/deft-directive-swarm/SKILL.md Phase 6 Step 1:
464
477
  (a) wait longer (~15-20 min)
@@ -474,6 +487,12 @@ Send:
474
487
 
475
488
  Subject: PR #{pr_number} poll cap exceeded -- parent should escalate
476
489
  Body:
490
+ STATUS: BLOCKED
491
+ HEAD: <sha>
492
+ CHECKS: <statuses>
493
+ MERGE: n/a
494
+ ISSUE: open
495
+ NOTES: poll cap exceeded; holdout=<which-of-the-five-conditions-failed>
477
496
  {poll_cap_minutes}-minute poll cap exceeded.
478
497
  Latest state:
479
498
  last_reviewed_sha: <sha or "unparsed">
@@ -494,6 +513,12 @@ Increment the `stall_streak` counter introduced under `## CLEAN gate evaluation,
494
513
 
495
514
  Subject: PR #{pr_number} poll loop wedged -- terminal-condition detection failure
496
515
  Body:
516
+ STATUS: BLOCKED
517
+ HEAD: <sha>
518
+ CHECKS: holdout=<which-of-the-five-conditions-failed>
519
+ MERGE: n/a
520
+ ISSUE: open
521
+ NOTES: STALL — detector cannot reach CLEAN or P0/P1; diagnose instrumentation
497
522
  Detector cannot reach CLEAN or NEW P0/P1 FINDINGS but no blocking signals
498
523
  are visible. Likely terminal-condition detection gap on this PR's review surface.
499
524
  Latest state:
@@ -515,6 +540,12 @@ Send:
515
540
 
516
541
  Subject: PR #{pr_number} informal-clean missing canonical fields -- recovery required
517
542
  Body:
543
+ STATUS: BLOCKED
544
+ HEAD: <sha>
545
+ CHECKS: informal-clean missing canonical fields
546
+ MERGE: n/a
547
+ ISSUE: open
548
+ NOTES: #1543 informal-clean; recovery @greptileai or override
518
549
  Greptile informal-clean missing-canonical-fields state (#1543).
519
550
  Latest Greptile comment says the diff is clean / prior issues resolved,
520
551
  but lacks canonical `Last reviewed commit:` and `Confidence Score: X/5`.
@@ -542,6 +573,18 @@ Send:
542
573
  - ! Use Python scripts (single `run_shell_command` call) for the poll loop, NEVER shell `Start-Sleep` + repeated tool calls. The Python script handles `time.sleep({poll_interval_seconds})` between polls and exits when a terminal condition fires.
543
574
  - ! Always pass `do_not_summarize_output: true` semantics when fetching `gh pr view --comments` -- summarizers silently drop the Outside-Diff section.
544
575
  - ! Send a status message to `{parent_agent_id}` at start (acknowledging the task) and at every terminal exit (CLEAN / NEW P0/P1 FINDINGS escalation / ERRORED / TIMEOUT / STALL / INFORMAL-CLEAN). Route it through the host completion channel for your primitive (see Role posture -- OpenClaw `sessions_spawn` uses parent push / announce). Do NOT silently complete.
576
+ - ! **Required non-empty monitor handback (#3044):** every terminal exit message MUST be non-empty and include these structured fields (map CLEAN → `STATUS: DONE`, NEW P0/P1 / INFORMAL-CLEAN / TIMEOUT / STALL → `STATUS: BLOCKED`, ERRORED → `STATUS: FAILED` unless a hard failure):
577
+
578
+ ```text
579
+ STATUS: DONE|BLOCKED|FAILED
580
+ HEAD: <sha>
581
+ CHECKS: <summary>
582
+ MERGE: <url|error|n/a>
583
+ ISSUE: <closed|open|n/a>
584
+ NOTES: <short>
585
+ ```
586
+
587
+ ⊗ Empty final assistant message / empty `subagent_announce` body. Parents treat empty or missing-`STATUS` settles as FC04 residual, not success (`skills/deft-directive-review-cycle/SKILL.md` Empty announce ≠ done).
545
588
 
546
589
  ## Implementation Notes
547
590