@cxi-lmai/ci-agent-platform 3.0.0 → 3.1.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 (69) hide show
  1. package/README.md +27 -5
  2. package/package.json +2 -2
  3. package/payload/INSTALL.md +14 -5
  4. package/payload/agents/agent-architect.md +1 -1
  5. package/payload/agents/code-reviewer.md +1 -1
  6. package/payload/agents/codebase-auditor.md +1 -1
  7. package/payload/agents/coder.md +3 -3
  8. package/payload/agents/decomposer.md +1 -1
  9. package/payload/agents/docs-sync.md +1 -1
  10. package/payload/agents/e2e-test-writer.md +1 -1
  11. package/payload/agents/performance-reviewer.md +1 -1
  12. package/payload/agents/release-mr.md +1 -1
  13. package/payload/agents/security-reviewer.md +1 -1
  14. package/payload/agents/test-fix.md +4 -4
  15. package/payload/agents/test-writer.md +3 -3
  16. package/payload/agents-omp/agent-architect.md +101 -0
  17. package/payload/agents-omp/code-reviewer.md +86 -0
  18. package/payload/agents-omp/codebase-auditor.md +73 -0
  19. package/payload/agents-omp/coder.md +57 -0
  20. package/payload/agents-omp/decomposer.md +70 -0
  21. package/payload/agents-omp/docs-sync.md +114 -0
  22. package/payload/agents-omp/e2e-test-writer.md +47 -0
  23. package/payload/agents-omp/migration-reviewer.md +99 -0
  24. package/payload/agents-omp/orchestrator.md +50 -0
  25. package/payload/agents-omp/performance-reviewer.md +81 -0
  26. package/payload/agents-omp/postmortem.md +82 -0
  27. package/payload/agents-omp/release-mr.md +274 -0
  28. package/payload/agents-omp/security-reviewer.md +121 -0
  29. package/payload/agents-omp/test-fix.md +33 -0
  30. package/payload/agents-omp/test-writer.md +39 -0
  31. package/payload/ci-templates/claude-pipeline.gitlab-ci.yml +220 -7
  32. package/payload/ci-templates/github/claude-issue-pipeline.yml +1 -1
  33. package/payload/ci-templates/github/claude-pipeline.yml +2 -2
  34. package/payload/ci-templates/github/claude-test-fix.yml +1 -1
  35. package/payload/ci-templates/scripts/agent-architect.sh +233 -0
  36. package/payload/ci-templates/scripts/code.sh +35 -35
  37. package/payload/ci-templates/scripts/codebase-audit.sh +252 -0
  38. package/payload/ci-templates/scripts/coverage-ratchet.sh +77 -0
  39. package/payload/ci-templates/scripts/cve-fix.sh +246 -0
  40. package/payload/ci-templates/scripts/docs-sync.sh +225 -0
  41. package/payload/ci-templates/scripts/e2e-test-gen.sh +201 -0
  42. package/payload/ci-templates/scripts/lib/failure-notice.sh +104 -0
  43. package/payload/ci-templates/scripts/lib/issue-loop.sh +155 -40
  44. package/payload/ci-templates/scripts/lib/pipeline-common.sh +233 -31
  45. package/payload/ci-templates/scripts/lib/platform.sh +270 -13
  46. package/payload/ci-templates/scripts/lib/usage-capture-omp.sh +123 -0
  47. package/payload/ci-templates/scripts/lib/usage-capture.sh +7 -1
  48. package/payload/ci-templates/scripts/metrics-snapshot.sh +377 -0
  49. package/payload/ci-templates/scripts/orchestrate.sh +56 -38
  50. package/payload/ci-templates/scripts/postmortem.sh +11 -1
  51. package/payload/ci-templates/scripts/review-fix.sh +23 -12
  52. package/payload/ci-templates/scripts/review.sh +12 -8
  53. package/payload/ci-templates/scripts/test-fix.sh +8 -1
  54. package/payload/skills/agent-architect/SKILL.md +45 -0
  55. package/payload/skills/codebase-audit/SKILL.md +84 -0
  56. package/payload/skills/cve-fix/SKILL.md +98 -0
  57. package/payload/skills/docs-sync/SKILL.md +74 -0
  58. package/payload/skills/e2e-test-gen/SKILL.md +65 -0
  59. package/payload/skills/fix-review-findings/SKILL.md +3 -3
  60. package/payload/skills/fix-tests/SKILL.md +4 -4
  61. package/payload/skills/implement-issue/SKILL.md +1 -1
  62. package/payload/skills/init-pipeline-config/SKILL.md +4 -4
  63. package/payload/skills/postmortem-mr/SKILL.md +1 -1
  64. package/payload/skills/review-mr/SKILL.md +1 -1
  65. package/payload/skills/triage-issue/SKILL.md +2 -2
  66. package/payload/templates/memory-index.template.md +34 -0
  67. package/payload/templates/pipeline-config.template.md +11 -1
  68. package/payload/templates/review_suppressions.template.md +55 -0
  69. package/payload/templates/spec-issue.template.md +39 -7
@@ -76,6 +76,15 @@ TODO
76
76
  ## Suppressions
77
77
  - Path: .claude/memory/review_suppressions.md (sections: Code / Security / Migration / Performance)
78
78
 
79
+ ## Metrics Conventions
80
+ <!-- Optional. Only needed when the project runs the metrics-snapshot job.
81
+ The aggregator counts post-merge defects by matching commit subjects, so
82
+ the patterns have to be agreed rather than guessed. Defaults below match
83
+ the shipped aggregator. Mark "not used" when the job is off. -->
84
+ - Full revert of a merged change: `Reverts !<iid>`
85
+ - Targeted fix for a defect introduced by a merged change: `Fixes regression from !<iid>`
86
+ - Re-landing work that was reverted: `Reintroduces work from !<iid>`
87
+
79
88
  ## Release
80
89
  <!-- Used by the release agent. Mark "not used" if the project has no formal release flow. -->
81
90
  - Release title format: <!-- e.g. "Update to x.y.z" --> TODO
@@ -89,7 +98,8 @@ TODO
89
98
 
90
99
  ## E2E Tests
91
100
  <!-- Only for projects with a generated e2e suite. Otherwise: not used.
92
- Framework, test dir, fixture import module, test-data prefix, cleanup rules, required tags.
101
+ Required: framework, test dir, fixture import module, test-data prefix,
102
+ cleanup rules, required tags, and the base URL used by generated tests.
93
103
  Also (the e2e-test-writer relies on these):
94
104
  - frontend source dirs + selector strategy (real element IDs vs test-id attributes),
95
105
  - spec-file naming/extension convention (one scenario per file),
@@ -11,15 +11,70 @@
11
11
  ## Code Review Suppressions
12
12
 
13
13
  (none yet)
14
+ <!--
15
+ ### Generated output reports a duplicate helper
16
+ - **Pattern:** a generated file contains a helper that resembles a hand-written helper
17
+ - **Why:** the generator owns this output and the apparent duplicate is not maintained independently
18
+ - **Date:** 2026-08-28
19
+ -->
20
+
21
+ <!--
22
+ ### Explicit fallback differs from the usual convention
23
+ - **Pattern:** a narrowly scoped fallback uses a documented exception to the usual convention
24
+ - **Why:** the deviation records a deliberate compatibility decision and is reviewed with its documented context
25
+ - **Date:** 2026-08-28
26
+ -->
27
+
14
28
 
15
29
  ## Security Review Suppressions
16
30
 
17
31
  (none yet)
32
+ <!--
33
+ ### Generated metadata includes an unused-looking field
34
+ - **Pattern:** generated metadata declares a field that no direct source reference uses
35
+ - **Why:** the generator requires the field for a downstream consumer, so removing it would make the output incomplete
36
+ - **Date:** 2026-08-28
37
+ -->
38
+
39
+ <!--
40
+ ### Escaped value triggers a broad input warning
41
+ - **Pattern:** a value is passed through a safe escaping idiom that a generic catalog flags
42
+ - **Why:** the idiom applies the required encoding before the value reaches its destination
43
+ - **Date:** 2026-08-28
44
+ -->
45
+
18
46
 
19
47
  ## Migration Review Suppressions
20
48
 
21
49
  (none yet)
50
+ <!--
51
+ ### Generated history includes a repeated declaration
52
+ - **Pattern:** generated change history repeats a declaration already represented elsewhere
53
+ - **Why:** the generator preserves both representations so independent consumers can process the history
54
+ - **Date:** 2026-08-28
55
+ -->
56
+
57
+ <!--
58
+ ### Intentional ordering differs from the default
59
+ - **Pattern:** a documented ordering intentionally differs from the usual sequence
60
+ - **Why:** the exception preserves a required transition and is limited to the documented operation
61
+ - **Date:** 2026-08-28
62
+ -->
63
+
22
64
 
23
65
  ## Performance Review Suppressions
24
66
 
25
67
  (none yet)
68
+ <!--
69
+ ### Generated lookup repeats a calculation
70
+ - **Pattern:** generated lookup code repeats a small calculation that resembles avoidable work
71
+ - **Why:** the generator emits the calculation to keep each generated branch independent and correct
72
+ - **Date:** 2026-08-28
73
+ -->
74
+
75
+ <!--
76
+ ### Guarded reuse is reported as shared-state risk
77
+ - **Pattern:** a safe reuse idiom protected by an explicit guard is flagged by a generic catalog
78
+ - **Why:** the guard establishes the required boundary before reuse occurs
79
+ - **Date:** 2026-08-28
80
+ -->
@@ -1,6 +1,11 @@
1
1
  <!--
2
- Spec template for issues intended for autonomous implementation (the ready
3
- label). Fill in every mandatory section before applying the label.
2
+ Spec template for issues intended for autonomous implementation. Use it only
3
+ when requirements are settled and every mandatory section can be completed
4
+ unambiguously.
5
+
6
+ For early ideation or product discussion, use a feature request. For a
7
+ reproducible defect, use a bug report. For a documentation-only change, use
8
+ a docs update. Promote those to a Spec once requirements are settled.
4
9
 
5
10
  IMPORTANT: the eight section headers below (## 1. Outcome ... ## 8. Out of
6
11
  Scope) are load-bearing. The pipeline validates decomposed sub-issues against
@@ -12,6 +17,13 @@
12
17
  GitHub default .github/ISSUE_TEMPLATE/spec.md).
13
18
  -->
14
19
 
20
+ ## Spec Readiness
21
+
22
+ - [ ] All mandatory sections below are filled in and unambiguous.
23
+ - [ ] I understand that applying this project's configured ready label hands this issue to an autonomous implementation agent.
24
+
25
+ ---
26
+
15
27
  > Fill this into the issue DESCRIPTION, not a comment. The pipeline reads only the description for the spec check.
16
28
 
17
29
  ## 1. Outcome
@@ -31,9 +43,11 @@ TODO
31
43
  ## 4. Scope Envelope
32
44
  <!-- Be honest about size. One coder session handles roughly the capacity in the
33
45
  pipeline config (default ~15 files / ~600 lines). Larger work is decomposed. -->
34
- - Estimated files touched: TODO
35
- - Layers / packages affected: TODO
36
- - Fits in one coder session: TODO (yes / no; if no, decompose first)
46
+ - **Estimated files touched:** TODO
47
+ - **Packages / layers affected:** TODO
48
+ - **Database migration required:** TODO (yes / no)
49
+ - **User-interface changes required:** TODO (yes / no)
50
+ - **Fits in one coder session:** TODO (yes / no; if no, decompose first)
37
51
 
38
52
  ## 5. Existing Code Anchors
39
53
  <!-- <at least one> pointer to model the implementation after: a class, a module,
@@ -43,9 +57,10 @@ TODO
43
57
 
44
58
  ## 6. Risk Flags
45
59
  <!-- Check any that apply. Each checked box may trigger a specialist reviewer and
46
- changes how the coder approaches the work. -->
60
+ changes how the coder approaches the work. Projects add domain-specific
61
+ risk flags in pipeline-config.md. -->
47
62
  - [ ] Schema migration
48
- - [ ] Security-sensitive (auth, permissions, tenant isolation, secrets)
63
+ - [ ] Security-sensitive (authentication, authorization, permissions, secrets)
49
64
  - [ ] Public API contract change
50
65
  - [ ] Performance-critical (hot path, large query, batch job, N+1-prone)
51
66
 
@@ -53,11 +68,28 @@ TODO
53
68
  <!-- <what will be tested> and how we will know it works. Be specific. -->
54
69
  - New tests to add: TODO
55
70
  - Existing tests that must still pass: TODO
71
+ - Manual verification (if applicable): TODO
56
72
 
57
73
  ## 8. Out of Scope
58
74
  <!-- What this issue deliberately does NOT include. Prevents scope creep. -->
59
75
  - TODO
60
76
 
77
+ ## Open Questions
78
+ <!-- Optional. If this section has unresolved items, keep iterating before
79
+ applying the configured ready label. -->
80
+ - TODO
81
+
82
+ ## Decomposition Links
83
+ <!-- Optional. Track the parent issue and any child issues created from this
84
+ specification. -->
85
+ - Decomposed from: TODO
86
+ - Decomposes into: TODO
87
+
88
+ ## References
89
+ <!-- Optional. Link related issues, change requests, design documents, and
90
+ external resources. -->
91
+ - TODO
92
+
61
93
  <!-- Dependencies (GitHub has no native issue links): to say this issue waits on
62
94
  another, write "Blocked by #N" here. The orchestrator's release poll reads
63
95
  it back and promotes the issue once #N closes. On GitLab, native issue