oh-my-customcodex 0.5.12 → 0.5.13
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.
- package/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/rules/MUST-completion-verification.md +23 -0
- package/templates/.claude/rules/MUST-continuous-improvement.md +12 -0
- package/templates/.claude/rules/MUST-orchestrator-coordination.md +13 -0
- package/templates/.claude/skills/instinct-extractor/SKILL.md +11 -0
- package/templates/.claude/skills/pipeline/SKILL.md +8 -0
- package/templates/.claude/skills/pipeline/labels.md +9 -0
- package/templates/.claude/statusline.sh +16 -2
- package/templates/manifest.json +2 -2
- package/templates/workflows/auto-dev.yaml +17 -2
- package/templates/workflows/eraser.yaml +60 -0
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -67,6 +67,29 @@ Parallel batches return results together, so a same-batch permanent dispatch pro
|
|
|
67
67
|
|
|
68
68
|
Example: do not diagnose `triage-dispatch.yml` from memory, create an issue, and delegate a fix in the same parallel call before reading the workflow. If the read later shows a different root cause, the issue, PR, and commit trail become correction debt even when the eventual code direction is acceptable.
|
|
69
69
|
|
|
70
|
+
## Degraded-Output Re-Verification Gate
|
|
71
|
+
|
|
72
|
+
When tool output shows provider instability, buffering, truncation, duplicated chunks, `529`, timeout recovery, or `(no result)` while a permanent action is being considered, treat the current read as degraded. Do not characterize corruption, missing files, stale state, release failure, or data loss from that single degraded read.
|
|
73
|
+
|
|
74
|
+
Before destructive recovery, issue creation, rule/workflow/template edits, release publication, or fix delegation based on degraded output:
|
|
75
|
+
|
|
76
|
+
1. Re-read the authoritative source with a deterministic command or API call.
|
|
77
|
+
2. Use a second narrow check that can falsify the failure hypothesis, such as `grep -c`, `sort -u`, `git status`, `git show`, `gh api`, or a direct file diff.
|
|
78
|
+
3. Record whether the first read was degraded and whether the re-check confirmed or corrected the hypothesis.
|
|
79
|
+
|
|
80
|
+
If the deterministic re-check cannot run, halt or reduce the action to a non-destructive diagnostic note.
|
|
81
|
+
|
|
82
|
+
## Workflow Script Sanity Check
|
|
83
|
+
|
|
84
|
+
Before invoking or registering generated workflow code, run a Tier-1 sanity pass:
|
|
85
|
+
|
|
86
|
+
1. Search for unresolved placeholders, malformed identifiers, and known dead-line patterns.
|
|
87
|
+
2. Assemble the exact script body before execution; do not concatenate facts or guardrails after the call starts.
|
|
88
|
+
3. Run the language parser or the narrowest no-side-effect syntax check available.
|
|
89
|
+
4. If syntax validation is unavailable, read the generated body back and perform a focused self-review before launch.
|
|
90
|
+
|
|
91
|
+
This check is mandatory for workflow scripts that will run automation, mutate GitHub state, or gate a release.
|
|
92
|
+
|
|
70
93
|
## Test-Skip Is Not Completion
|
|
71
94
|
|
|
72
95
|
Skipping tests, lowering coverage thresholds, narrowing the test command, or marking suites as TODO may be a temporary containment step, but it never satisfies completion by itself.
|
|
@@ -51,6 +51,18 @@ When repeating agent failures or suboptimal routing is detected:
|
|
|
51
51
|
|
|
52
52
|
This connects R016's continuous improvement loop with the adaptive-harness skill's learning capability.
|
|
53
53
|
|
|
54
|
+
## Skill Promotion Threshold
|
|
55
|
+
|
|
56
|
+
Promote a recurring workflow into a skill only when the evidence is strong enough to justify a durable interface.
|
|
57
|
+
|
|
58
|
+
| Evidence | Action |
|
|
59
|
+
|----------|--------|
|
|
60
|
+
| One clear occurrence | Record memory or issue; do not create a skill by default |
|
|
61
|
+
| Two direct successful repetitions with stable inputs/outputs | Candidate for `skill-extractor` Phase 1 shortlist |
|
|
62
|
+
| Three or more direct repetitions, or two repetitions plus explicit user confirmation | Confirmed promotion candidate |
|
|
63
|
+
|
|
64
|
+
Before creating a new skill, verify the candidate is not already covered by an existing skill, rule, guide, hook, or lightweight memory entry. Ambiguous, sensitive, one-off, or ownership-unclear candidates are explicitly skipped with a reason.
|
|
65
|
+
|
|
54
66
|
## External Repository Contribution Pre-Check
|
|
55
67
|
|
|
56
68
|
Before creating or modifying assets for an external repository or upstream contribution target, inspect that repository's local contract before implementing:
|
|
@@ -248,6 +248,19 @@ Known limitation: `arch-documenter` has `disallowedTools: [Bash]`. Do not ask it
|
|
|
248
248
|
|
|
249
249
|
The `agent-capability-precheck.sh` hook blocks obvious mismatches so the orchestrator re-routes before spawning an agent that cannot execute the requested work.
|
|
250
250
|
|
|
251
|
+
### Delegated Path Existence Pre-Check
|
|
252
|
+
|
|
253
|
+
Before putting concrete file paths in a delegated prompt, verify those paths exist or explicitly mark them as new files. A tool-capability match is insufficient when the prompt names a path.
|
|
254
|
+
|
|
255
|
+
Required check:
|
|
256
|
+
|
|
257
|
+
1. Use `rg --files`, `find`, `ls`, or the repository index to prove each existing path.
|
|
258
|
+
2. If a path is missing, locate the current equivalent before delegating.
|
|
259
|
+
3. Include only verified paths in the prompt, or say `create new file: <path>` when creation is intended.
|
|
260
|
+
4. For multi-copy assets, verify all source/template mirrors before assigning the edit.
|
|
261
|
+
|
|
262
|
+
Do not rely on the delegate to repair stale path guesses in shared workflow, rule, guide, or release tasks.
|
|
263
|
+
|
|
251
264
|
<!-- DETAIL: Autonomous Execution Mode
|
|
252
265
|
|
|
253
266
|
## Autonomous Execution Mode
|
|
@@ -41,6 +41,17 @@ Find repeated operator or agent behavior that should become a rule, skill, guide
|
|
|
41
41
|
4. Assign confidence and cite concrete files, commits, or artifacts.
|
|
42
42
|
5. Emit proposals only; do not create new rules or skills without an explicit follow-up task.
|
|
43
43
|
|
|
44
|
+
## Selection Discipline
|
|
45
|
+
|
|
46
|
+
Before emitting a reusable-asset proposal, apply these filters:
|
|
47
|
+
|
|
48
|
+
- **Duplicate check**: search existing skills, rules, guides, hooks, and memory entries for equivalent behavior. Prefer extending the existing asset.
|
|
49
|
+
- **Skip filter**: explicitly skip ambiguous, sensitive, one-off, or ownership-unclear candidates.
|
|
50
|
+
- **Stable interface check**: require stable trigger, input, output, and verification evidence before recommending a skill.
|
|
51
|
+
- **Frequency check**: one occurrence is memory/issue material; two direct repetitions can enter a shortlist; three or more direct repetitions or explicit user confirmation can justify promotion.
|
|
52
|
+
|
|
53
|
+
When a candidate is skipped, include the skip reason so future extraction runs do not re-open the same weak proposal without new evidence.
|
|
54
|
+
|
|
44
55
|
## Output
|
|
45
56
|
|
|
46
57
|
```text
|
|
@@ -24,6 +24,14 @@ source:
|
|
|
24
24
|
|
|
25
25
|
## Behavior
|
|
26
26
|
|
|
27
|
+
## Workflow File Locations
|
|
28
|
+
|
|
29
|
+
`workflows/*.yaml` is the Codex pipeline invocation surface used by `/pipeline <name>` in this repository. `templates/workflows/*.yaml` is its packaged template mirror and must remain content-identical.
|
|
30
|
+
|
|
31
|
+
`.codex/skills/pipeline/workflows/*.yaml` is a skill-local reference copy retained for compatibility with older skill bundles and detailed examples. It is not the primary repo-root invocation surface unless a runtime explicitly resolves workflows relative to this skill directory.
|
|
32
|
+
|
|
33
|
+
When changing pipeline behavior, update the active repo-root workflow first, update its template mirror in the same change, and then update skill-local reference copies when they describe the same behavior.
|
|
34
|
+
|
|
27
35
|
### List Mode (no arguments or --list flag)
|
|
28
36
|
|
|
29
37
|
Execute these steps to display available pipelines:
|
|
@@ -18,6 +18,8 @@ Used by `scope-selection` to include or exclude issues and by `implement` for li
|
|
|
18
18
|
| `claude-code-release` | Claude compatibility release trigger | INCLUDE (preferred) |
|
|
19
19
|
| `documentation` | Documentation-only scope | INCLUDE (preferred for docs-only release) |
|
|
20
20
|
| `enhancement-yaml-only` | YAML/config-only scope change | INCLUDE (eligible for docs-only compression) |
|
|
21
|
+
| `feedback` | Session feedback or retrospective follow-up | INCLUDE for low-risk rule/skill/doc scope |
|
|
22
|
+
| `improvement` | Process or harness improvement | INCLUDE for low-risk rule/skill/doc scope |
|
|
21
23
|
|
|
22
24
|
## Selection Rule
|
|
23
25
|
|
|
@@ -44,6 +46,13 @@ If all scoped issues are compression-eligible and scope size is 3 or fewer, the
|
|
|
44
46
|
`compression_mode=docs-only` and replace heavyweight triage, planning, and verification spawns with
|
|
45
47
|
direct manifest summaries plus a local self-review checklist.
|
|
46
48
|
|
|
49
|
+
An issue is eligible for `lite` compression mode if its labels or triage evidence show a low-risk
|
|
50
|
+
documentation, release-monitor, feedback, improvement, enhancement, YAML/config-only, or rule/skill text
|
|
51
|
+
change. `lite` mode requires scope size 5 or fewer and must still run verify-build.
|
|
52
|
+
|
|
53
|
+
Do not add or change labels solely to qualify for a compression tier. If triage label changes affect
|
|
54
|
+
compression eligibility, report that fact in the compression-mode decision.
|
|
55
|
+
|
|
47
56
|
## Lifecycle Labels
|
|
48
57
|
|
|
49
58
|
| Transition | Action |
|
|
@@ -408,8 +408,20 @@ if [[ -f "$env_status_file" ]]; then
|
|
|
408
408
|
fi
|
|
409
409
|
fi
|
|
410
410
|
|
|
411
|
+
extra_segment=""
|
|
412
|
+
if [[ -n "${STATUSLINE_EXTRA_PROVIDERS:-}" ]]; then
|
|
413
|
+
IFS=':' read -r -a extra_providers <<< "$STATUSLINE_EXTRA_PROVIDERS"
|
|
414
|
+
for provider in "${extra_providers[@]}"; do
|
|
415
|
+
[[ -n "$provider" && -x "$provider" ]] || continue
|
|
416
|
+
provider_output="$("$provider" </dev/null 2>/dev/null | tr '\n' ' ' | sed 's/[[:space:]]*$//')"
|
|
417
|
+
if [[ -n "$provider_output" ]]; then
|
|
418
|
+
extra_segment="${extra_segment} | ${provider_output}"
|
|
419
|
+
fi
|
|
420
|
+
done
|
|
421
|
+
fi
|
|
422
|
+
|
|
411
423
|
if [[ -n "$git_branch" ]]; then
|
|
412
|
-
printf "${cost_color}%s${COLOR_RESET} | %s | %s%s%s%s%s%s | ${ctx_color}%s${COLOR_RESET}\n" \
|
|
424
|
+
printf "${cost_color}%s${COLOR_RESET} | %s | %s%s%s%s%s%s%s | ${ctx_color}%s${COLOR_RESET}\n" \
|
|
413
425
|
"$cost_display" \
|
|
414
426
|
"$project_name" \
|
|
415
427
|
"$branch_display" \
|
|
@@ -418,9 +430,10 @@ if [[ -n "$git_branch" ]]; then
|
|
|
418
430
|
"$wl_segment" \
|
|
419
431
|
"$agent_segment" \
|
|
420
432
|
"$rtk_segment" \
|
|
433
|
+
"$extra_segment" \
|
|
421
434
|
"$ctx_display"
|
|
422
435
|
else
|
|
423
|
-
printf "${cost_color}%s${COLOR_RESET} | %s%s%s%s%s%s | ${ctx_color}%s${COLOR_RESET}\n" \
|
|
436
|
+
printf "${cost_color}%s${COLOR_RESET} | %s%s%s%s%s%s%s | ${ctx_color}%s${COLOR_RESET}\n" \
|
|
424
437
|
"$cost_display" \
|
|
425
438
|
"$project_name" \
|
|
426
439
|
"$pr_segment" \
|
|
@@ -428,5 +441,6 @@ else
|
|
|
428
441
|
"$wl_segment" \
|
|
429
442
|
"$agent_segment" \
|
|
430
443
|
"$rtk_segment" \
|
|
444
|
+
"$extra_segment" \
|
|
431
445
|
"$ctx_display"
|
|
432
446
|
fi
|
package/templates/manifest.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.5.
|
|
2
|
+
"version": "0.5.13",
|
|
3
3
|
"requiresCC": ">=2.1.121",
|
|
4
4
|
"claudeCode": {
|
|
5
5
|
"minimumVersion": "2.1.121",
|
|
6
6
|
"protectedPathBypassVersion": "2.1.126"
|
|
7
7
|
},
|
|
8
|
-
"lastUpdated": "2026-06-
|
|
8
|
+
"lastUpdated": "2026-06-06T00:00:00.000Z",
|
|
9
9
|
"components": [
|
|
10
10
|
{
|
|
11
11
|
"name": "rules",
|
|
@@ -60,13 +60,24 @@ steps:
|
|
|
60
60
|
- name: compression-mode-eval
|
|
61
61
|
depends_on: scope-selection
|
|
62
62
|
prompt: |
|
|
63
|
-
Evaluate
|
|
63
|
+
Evaluate compression mode.
|
|
64
64
|
|
|
65
65
|
Use `compression_mode=docs-only` only when:
|
|
66
66
|
- scope size is 3 or fewer issues
|
|
67
67
|
- every scoped issue has at least one of documentation, automated, codex-release, oh-my-codex-release, claude-code-release, or enhancement-yaml-only
|
|
68
68
|
|
|
69
|
-
|
|
69
|
+
Use `compression_mode=lite` only when:
|
|
70
|
+
- scope size is 5 or fewer issues
|
|
71
|
+
- every scoped issue is documentation, automated release-monitor, feedback, improvement, enhancement, YAML/config-only, or low-risk rule/skill text
|
|
72
|
+
- no scoped issue requires TypeScript runtime behavior, package dependency changes, migration, or security-sensitive logic
|
|
73
|
+
|
|
74
|
+
Gate transparency:
|
|
75
|
+
- Do not add or change labels solely to qualify for docs-only or lite mode.
|
|
76
|
+
- If labels were changed during triage and affect compression eligibility, state that fact in the mode decision.
|
|
77
|
+
|
|
78
|
+
In docs-only mode, replace heavyweight triage/plan/deep-plan/deep-verify spawns with direct summaries plus local self-review.
|
|
79
|
+
In lite mode, keep a concise implementation plan and local self-review, but still run verify-build.
|
|
80
|
+
Otherwise use standard mode.
|
|
70
81
|
Output the selected compression_mode for downstream steps.
|
|
71
82
|
description: Evaluate docs-only compression eligibility
|
|
72
83
|
|
|
@@ -100,6 +111,10 @@ steps:
|
|
|
100
111
|
prompt: |
|
|
101
112
|
Project-specific build + test verification.
|
|
102
113
|
|
|
114
|
+
Scope-change re-entry guard:
|
|
115
|
+
- If a scoped issue is added or materially changed after verify-build starts, reset this phase and re-run the full verify-build gate for the new aggregate scope.
|
|
116
|
+
- Do not proceed to release from a verify-build result collected before the latest scoped implementation change.
|
|
117
|
+
|
|
103
118
|
For Node/Bun projects:
|
|
104
119
|
1. Run `bun install` and halt on lockfile drift.
|
|
105
120
|
2. Run `bun run lint` when available.
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# /pipeline eraser — Architecture documentation sync via Eraser MCP
|
|
2
|
+
# Analyzes ARCHITECTURE.md, updates text, generates/replaces diagrams
|
|
3
|
+
|
|
4
|
+
name: eraser
|
|
5
|
+
description: "Architecture documentation sync: analyze → update text → generate/replace diagrams → verify"
|
|
6
|
+
mode: confirm
|
|
7
|
+
error: halt-and-report
|
|
8
|
+
|
|
9
|
+
steps:
|
|
10
|
+
- name: analyze
|
|
11
|
+
prompt: >
|
|
12
|
+
Compare ARCHITECTURE.md counts/versions against actual codebase.
|
|
13
|
+
Run: agent count (ls .claude/agents/*.md | wc -l),
|
|
14
|
+
skill count (find .claude/skills -name SKILL.md | wc -l),
|
|
15
|
+
guide count (find guides -mindepth 1 -maxdepth 1 -type d | wc -l).
|
|
16
|
+
Compare with documented values. List outdated sections.
|
|
17
|
+
description: >
|
|
18
|
+
Compare ARCHITECTURE.md counts/versions against actual codebase.
|
|
19
|
+
Run: agent count (ls .claude/agents/*.md | wc -l),
|
|
20
|
+
skill count (find .claude/skills -name SKILL.md | wc -l),
|
|
21
|
+
guide count (find guides -mindepth 1 -maxdepth 1 -type d | wc -l).
|
|
22
|
+
Compare with documented values. List outdated sections.
|
|
23
|
+
|
|
24
|
+
- name: update-text
|
|
25
|
+
prompt: >
|
|
26
|
+
Update ARCHITECTURE.md and ARCHITECTURE_ko.md text content:
|
|
27
|
+
version numbers, agent/skill/guide counts, feature descriptions,
|
|
28
|
+
new sections for recently added features, version history.
|
|
29
|
+
Delegate to arch-documenter agent.
|
|
30
|
+
description: >
|
|
31
|
+
Update ARCHITECTURE.md and ARCHITECTURE_ko.md text content:
|
|
32
|
+
version numbers, agent/skill/guide counts, feature descriptions,
|
|
33
|
+
new sections for recently added features, version history.
|
|
34
|
+
Delegate to arch-documenter agent.
|
|
35
|
+
|
|
36
|
+
- name: generate-diagrams
|
|
37
|
+
prompt: >
|
|
38
|
+
Use Eraser MCP to generate/replace diagrams in assets/diagrams/.
|
|
39
|
+
Diagram types: renderCloudArchitectureDiagram (system overview),
|
|
40
|
+
renderSequenceDiagram (API flows), renderFlowchart (decision flows).
|
|
41
|
+
Settings: imageQuality 2, format png, background true, theme light,
|
|
42
|
+
typeface clean, colorMode bold.
|
|
43
|
+
Download generated images and save to assets/diagrams/.
|
|
44
|
+
description: >
|
|
45
|
+
Use Eraser MCP to generate/replace diagrams in assets/diagrams/.
|
|
46
|
+
Diagram types: renderCloudArchitectureDiagram (system overview),
|
|
47
|
+
renderSequenceDiagram (API flows), renderFlowchart (decision flows).
|
|
48
|
+
Settings: imageQuality 2, format png, background true, theme light,
|
|
49
|
+
typeface clean, colorMode bold.
|
|
50
|
+
Download generated images and save to assets/diagrams/.
|
|
51
|
+
|
|
52
|
+
- name: verify
|
|
53
|
+
skill: dev-review
|
|
54
|
+
description: >
|
|
55
|
+
Verify all image references are valid, counts match filesystem,
|
|
56
|
+
no broken links, English and Korean docs are synchronized.
|
|
57
|
+
|
|
58
|
+
- name: release
|
|
59
|
+
prompt: "Create PR with documentation updates"
|
|
60
|
+
description: Create PR with documentation updates
|