incitaciones 0.3.2 → 0.5.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 (40) hide show
  1. package/content/distilled/agent-value-alignment/SKILL.md +63 -0
  2. package/content/distilled/agent-value-alignment/references/examples.md +46 -0
  3. package/content/distilled/agent-value-alignment/references/integration.md +73 -0
  4. package/content/distilled/agent-value-alignment/references/layer-1-value.md +62 -0
  5. package/content/distilled/agent-value-alignment/references/layer-2-governance.md +74 -0
  6. package/content/distilled/agent-value-alignment/references/layer-3-runtime-prompt.md +68 -0
  7. package/content/distilled/agent-value-alignment/references/layer-4-infrastructure.md +58 -0
  8. package/content/distilled/agent-value-alignment/references/report-template.md +113 -0
  9. package/content/distilled/codebase-cartography/SKILL.md +49 -0
  10. package/content/distilled/codebase-cartography/references/report-template.md +61 -0
  11. package/content/distilled/codebase-cartography/references/smell-signatures.md +58 -0
  12. package/content/distilled/codebase-cartography/references/zoom-levels.md +99 -0
  13. package/content/distilled/create-issues/SKILL.md +18 -8
  14. package/content/distilled/create-issues/references/criteria.md +5 -0
  15. package/content/distilled/create-issues/references/templates.md +13 -0
  16. package/content/distilled/issue-review/SKILL.md +1 -0
  17. package/content/distilled/issue-review/references/pass-0-preflight.md +34 -0
  18. package/content/distilled/issue-review/references/pass-5-executability.md +5 -0
  19. package/content/manifest.json +338 -1
  20. package/package.json +1 -1
  21. package/pi-package/prompts/agent-value-alignment.md +10 -0
  22. package/pi-package/prompts/codebase-cartography.md +10 -0
  23. package/pi-package/skills/agent-value-alignment/SKILL.md +69 -0
  24. package/pi-package/skills/agent-value-alignment/references/examples.md +46 -0
  25. package/pi-package/skills/agent-value-alignment/references/integration.md +73 -0
  26. package/pi-package/skills/agent-value-alignment/references/layer-1-value.md +62 -0
  27. package/pi-package/skills/agent-value-alignment/references/layer-2-governance.md +74 -0
  28. package/pi-package/skills/agent-value-alignment/references/layer-3-runtime-prompt.md +68 -0
  29. package/pi-package/skills/agent-value-alignment/references/layer-4-infrastructure.md +58 -0
  30. package/pi-package/skills/agent-value-alignment/references/report-template.md +113 -0
  31. package/pi-package/skills/codebase-cartography/SKILL.md +55 -0
  32. package/pi-package/skills/codebase-cartography/references/report-template.md +61 -0
  33. package/pi-package/skills/codebase-cartography/references/smell-signatures.md +58 -0
  34. package/pi-package/skills/codebase-cartography/references/zoom-levels.md +99 -0
  35. package/pi-package/skills/create-issues/SKILL.md +18 -8
  36. package/pi-package/skills/create-issues/references/criteria.md +5 -0
  37. package/pi-package/skills/create-issues/references/templates.md +13 -0
  38. package/pi-package/skills/issue-review/SKILL.md +1 -0
  39. package/pi-package/skills/issue-review/references/pass-0-preflight.md +34 -0
  40. package/pi-package/skills/issue-review/references/pass-5-executability.md +5 -0
@@ -12,6 +12,10 @@ Use these criteria to evaluate whether a plan has been translated into strong tr
12
12
  | **Actionable Title** | Short, specific, and domain-oriented. Prefer behavior over component names. |
13
13
  | **Traceability** | Contains a direct reference to the source plan/spec section or story. |
14
14
  | **Verifiability** | Acceptance criteria are binary and observable. |
15
+ | **Quantified Must gate** | Hard acceptance criterion carries a unit and number (Planguage Must), never an adjective. |
16
+ | **Machine-checkable Meter** | An exact runnable command (Meter) whose exit code decides the gate; verifiable at the ticket's `base_commit`. |
17
+ | **Anti-goals** | Negative constraints name prohibited behaviors (test edits, dependency additions, API breaks) so agents can't cheat the gate. |
18
+ | **Baseline anchored** | Measurable claims record the pre-work value and the HEAD SHA as `base_commit` metadata for staleness detection. |
15
19
  | **Dependency hygiene** | Only real blockers are encoded; parallel work is not serialized without reason. |
16
20
  | **Workflow Mandate** | Includes the mandatory TDD and Tidy First block. |
17
21
  | **Execution mode** | Slice is explicitly marked AFK or HITL. |
@@ -23,6 +27,7 @@ Use these checks before publishing:
23
27
  - [ ] Does this issue deliver a narrow but complete path through relevant layers?
24
28
  - [ ] Could someone demo or verify this slice without waiting for a later ticket?
25
29
  - [ ] Is this a user-visible or system-verifiable outcome rather than plumbing-only work?
30
+ - [ ] Could a fresh agent verify the Must gate by running the Meter command verbatim?
26
31
  - [ ] If the ticket is preparatory, is that preparatory work itself independently valuable?
27
32
  - [ ] Would splitting by backend/frontend/schema create worse horizontal tickets than the current slice?
28
33
 
@@ -31,6 +31,13 @@ Ref: [Link to plan/spec file and section]
31
31
  - `path/to/file2`
32
32
  - `[subsystem or surface area if exact files are not yet known]`
33
33
 
34
+ ## Verifiable Value Claim
35
+
36
+ **Must (hard gate):** [Quantified threshold defining done, with unit and number — e.g. "P95 latency ≤ 250 ms at 100 req/sec"; never "fast" or "robust"]
37
+ **Meter:** [Exact runnable command that verifies the Must gate — e.g. `pytest tests/val_claims/test_issue_NNN.py -q`; exit 0 = pass]
38
+ **Baseline:** [Measured value before work starts — e.g. "P95 = 450 ms"; omit if not measurable]
39
+ **Regression suite:** [Existing tests that must keep passing — e.g. `pytest tests/core/`]
40
+
34
41
  ## Acceptance Criteria
35
42
 
36
43
  - [ ] [Binary, observable criterion 1]
@@ -47,6 +54,11 @@ Or: `None - can start immediately`
47
54
  **CRITICAL: Follow Test Driven Development and Tidy First workflows.**
48
55
  - Write tests *before* writing implementation code.
49
56
  - Clean up related code *before* adding new functionality.
57
+
58
+ **Anti-goals (do NOT):**
59
+ - [Prohibited behavior with obvious reward-hacking payoff — e.g. "modify, disable, or delete tests in `tests/core/`"]
60
+ - [e.g. "add new dependencies or modify lockfiles"]
61
+ - [e.g. "break public API / exported interfaces"]
50
62
  ```
51
63
 
52
64
  ## Issue Creation Summary Template
@@ -65,6 +77,7 @@ Or: `None - can start immediately`
65
77
  - **Total Issues Created:** [count]
66
78
  - **Dependencies Defined:** [count]
67
79
  - **Labels Applied:** [e.g., needs-triage]
80
+ - **Base Commit Anchored:** [git SHA recorded in `base_commit` metadata]
68
81
 
69
82
  ### Created Issues
70
83
  1. **[ID] [Title]** - [Link/Reference]
@@ -34,6 +34,7 @@ Treat the best issue sets as:
34
34
  - minimal but sufficient dependency graphs
35
35
  - explicit about AFK vs HITL work
36
36
  - traceable back to stories, plans, or specs
37
+ - machine-verifiable value claims: quantified Must gate, runnable Meter, explicit anti-goals, and a `base_commit` anchor that reveals staleness
37
38
 
38
39
  ## Rules
39
40
 
@@ -34,4 +34,38 @@ Recommendation: consider a decomposition ticket to split `<file>` before these
34
34
  tickets run (see navari-a3cv pattern). If not decomposing now, add a
35
35
  co-modification note to all affected tickets.
36
36
 
37
+ **Check 3 — stale base commit (freshness):**
38
+ ```bash
39
+ bd list --format json | python3 -c "
40
+ import json, subprocess, sys
41
+ issues = json.load(sys.stdin)
42
+ head = subprocess.run(['git','rev-parse','HEAD'], capture_output=True, text=True).stdout.strip()
43
+ for i in issues:
44
+ meta = i.get('metadata') or {}
45
+ base = meta.get('base_commit')
46
+ if not base or base == head:
47
+ continue
48
+ files = meta.get('files') or []
49
+ changed = []
50
+ if files:
51
+ changed = subprocess.run(
52
+ ['git','diff','--name-only', f'{base}..HEAD', '--'] + files,
53
+ capture_output=True, text=True).stdout.split()
54
+ if changed:
55
+ print(i['id'], 'STALE-TOUCHED', changed)
56
+ else:
57
+ print(i['id'], 'BEHIND-HEAD')
58
+ "
59
+ ```
60
+ Flag `[PRE-003] HIGH` for STALE-TOUCHED: files in the ticket's scope changed since
61
+ `base_commit` — the description, acceptance criteria, or Meter may no longer apply.
62
+ Flag `[PRE-004] LOW` for BEHIND-HEAD: repo moved but ticket files untouched —
63
+ likely still valid, only re-anchor.
64
+ Fix: re-validate the ticket content against the current tree, then re-anchor:
65
+ ```bash
66
+ sha=$(git rev-parse HEAD)
67
+ bd update <id> --metadata "{\"base_commit\": \"$sha\"}"
68
+ ```
69
+ Tickets missing `base_commit` entirely: flag as part of PRE-001 remediation.
70
+
37
71
  **Prefix:** PRE-001, PRE-002, etc.
@@ -3,6 +3,7 @@
3
3
  Focus on:
4
4
  - Can another developer or agent pick this up immediately?
5
5
  - Are verification steps concrete and end-to-end?
6
+ - Is there a machine-checkable Must gate (quantified, unit + number) backed by a runnable Meter command?
6
7
  - Are priorities and labels sensible?
7
8
  - Are HITL handoff points explicit?
8
9
  - Is it clear what demo, test, or observable behavior proves completion?
@@ -11,6 +12,10 @@ Watch for:
11
12
  - Hidden conversational context
12
13
  - "You know what to do"
13
14
  - Missing verification commands or test references
15
+ - Qualitative acceptance criteria with no unit or threshold ("fast", "robust", "clean") — a Scale/Meter is missing
16
+ - A Meter command that cannot run at the ticket's `base_commit` (stale claim) or that no fresh agent could execute verbatim
17
+ - Missing anti-goals on tickets touching tests, lockfiles, or public interfaces (reward-hacking surface: nothing stops gaming the gate)
18
+ - No regression suite named (pass-to-pass coverage unspecified)
14
19
  - HITL work masquerading as AFK
15
20
  - Tickets that cannot be closed without information from another issue not listed as a blocker
16
21