@lifeaitools/rdc-skills 0.9.38 → 0.10.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.
@@ -32,6 +32,7 @@ If `<repo>` is not resolvable from the current workspace, ask for its local path
32
32
 
33
33
  ```
34
34
  rdc:release: <repo> vX.Y.Z -> vA.B.C
35
+ [ ] PUBLISH.md status gate: status=active AND prod in environments (block if not)
35
36
  [ ] Source path resolved
36
37
  [ ] Release metadata read
37
38
  [ ] Working tree clean or user-approved dirty scope identified
@@ -40,6 +41,7 @@ rdc:release: <repo> vX.Y.Z -> vA.B.C
40
41
  [ ] Dry-run gate handled
41
42
  [ ] Version files updated
42
43
  [ ] Tests/self-test passed
44
+ [ ] Mandatory release code-review (pr-review-toolkit:code-reviewer on `git diff <last-released-tag>..HEAD`). Block release on `critical`/`high` findings; record `medium`/`low` in the release notes and proceed.
43
45
  [ ] Commit created
44
46
  [ ] Tag created
45
47
  [ ] Branch and tag pushed
@@ -51,6 +53,27 @@ rdc:release: <repo> vX.Y.Z -> vA.B.C
51
53
  ✅ rdc:release <repo>: vA.B.C live and verified
52
54
  ```
53
55
 
56
+ ## PUBLISH.md Status Gate (Step 0 — before any production-touching step)
57
+
58
+ Before touching any production system, read `PUBLISH.md` from the app root and validate promotion eligibility.
59
+
60
+ ```bash
61
+ PUBLISH_MD="<monorepo_path>/PUBLISH.md"
62
+ ```
63
+
64
+ **Block promotion if ANY of the following are true:**
65
+
66
+ 1. **PUBLISH.md is missing AND the app has a row in `app_deployments`** — emit warn and continue (during rollout period); becomes a hard block after Option A rollout is complete.
67
+ 2. **PUBLISH.md exists AND `status` field is NOT `active`** — hard block regardless of rollout status.
68
+ - `status: draft` → `BLOCKED: PUBLISH.md status=draft for <slug> — promote requires status=active`
69
+ - `status: deprecated` → `BLOCKED: PUBLISH.md status=deprecated for <slug> — promote requires status=active`
70
+ 3. **PUBLISH.md exists AND `environments` array does not include `prod`** → `BLOCKED: PUBLISH.md environments=[dev] for <slug> — prod must be declared before promotion`
71
+ 4. **Any required surface field is missing** (`source_dir` or `path` absent on any surface) → `BLOCKED: PUBLISH.md surface <id> missing required field for <slug>`
72
+
73
+ If blocked, abort immediately with the message above. Do NOT proceed to the version bump, commit, or any Coolify call.
74
+
75
+ If PUBLISH.md is absent and app has no `app_deployments` row (library/package), skip this gate.
76
+
54
77
  ## Resolution Order
55
78
 
56
79
  1. Current repo if `<repo>` is `.` or omitted and the user clearly refers to the current workspace.
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: rdc:review
3
- description: "Usage `rdc:review [--unattended]` — Post-build quality gate: tsc, tests, stale docs, export conflicts across modified packages. Fixes what it can automatically, escalates the rest. Call after rdc:build and before merging to main."
3
+ description: "Usage `rdc:review [--unattended]` — Post-build quality gate: tsc, tests, stale docs, export conflicts, and a mandatory pr-review-toolkit:code-reviewer pass across modified packages. Fixes what it can automatically, escalates the rest. Call after rdc:build and before merging to main."
4
4
  ---
5
5
 
6
6
  > **⚠️ OUTPUT CONTRACT (READ FIRST):** `guides/output-contract.md`
@@ -80,6 +80,32 @@ description: "Usage `rdc:review [--unattended]` — Post-build quality gate: tsc
80
80
  - Never silently leave orphaned tasks
81
81
  - **⛔ Raw `UPDATE work_items SET parent_id = ...` is forbidden** — bypasses RLS and all constraint checks
82
82
 
83
+ 8b. **Mandatory code-review gate — dispatch pr-review-toolkit:code-reviewer:**
84
+
85
+ ⛔ **No CLEAN verdict without a code-review pass.** This is the second half of the quality gate; tsc/vitest catch type and behavior errors, code-reviewer catches logic, security, and convention drift.
86
+
87
+ Dispatch ONE `pr-review-toolkit:code-reviewer` agent on the full diff under review:
88
+
89
+ ```
90
+ Agent({
91
+ subagent_type: "pr-review-toolkit:code-reviewer",
92
+ description: "rdc:review code-review pass",
93
+ prompt: "Review `git diff origin/main...HEAD` on the development branch.
94
+ Focus on: bugs, logic errors, security vulnerabilities, project-convention
95
+ adherence (.claude/rules/*, CLAUDE.md, engineering-behavior.md).
96
+ Confidence-based filtering — high-confidence findings only.
97
+ Return CODE_REVIEW_COMPLETE with: { critical_count, high_count, medium_count,
98
+ low_count, findings: [{severity, file:line, issue, suggested_fix}] }."
99
+ })
100
+ ```
101
+
102
+ **Severity gate:**
103
+ - `critical` or `high` → verdict cannot be CLEAN. Interactive: report and pause. Unattended: auto-fix if mechanical (rename, missing await, obvious null check), otherwise escalate via advisor and mark HAS_ISSUES.
104
+ - `medium` or `low` → record in the review report's "Issues" section; verdict can still be CLEAN.
105
+ - Zero findings → log `CODE_REVIEW: CLEAN` and continue.
106
+
107
+ Under `RDC_TEST=1`: echo `[RDC_TEST] skipping code-review dispatch` and continue.
108
+
83
109
  9. **Verification gate — dispatch the verify agent:**
84
110
  After any fixes land, run the verify gate on every touched package. See `guides/agents/verify.md`.
85
111
  Apply `guides/engineering-behavior.md` while reviewing: flag unnecessary abstraction, drive-by refactors, missing assumptions, hidden uncertainty, out-of-scope edits, and prose-only verification.