oh-my-customcode 0.62.5 → 0.63.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.
package/README.md CHANGED
@@ -21,17 +21,17 @@ npm install -g oh-my-customcode && cd your-project && omcustom init
21
21
 
22
22
  ---
23
23
 
24
- ## What's New in v0.46.0
24
+ ## What's New in v0.62.5
25
25
 
26
26
  | Feature | Description |
27
27
  |---------|-------------|
28
- | **Rate Limit Monitoring** | Statusline now displays 5-hour rate limit usage with color-coded warnings (CC v2.1.80+) |
29
- | **Skill Effort Override** | Skills can set `effort` frontmatter to override model effort level at invocation time |
30
- | **Multi-project Web UI** | `omcustom serve` supports multi-project management with sidebar project selector |
31
- | **Batch Update UI** | Web dashboard supports visual project update status and batch updates |
32
- | **CC v2.1.72~v2.1.81 Compatibility** | Rate limits statusline, skill effort frontmatter, settings-based plugin source; `--bare` flag (harness disabled in bare mode), `--channels` permission relay (no changes required) |
33
- | **SDD Workflow** | Spec-Driven Development with `sdd/` folder hierarchy and planning-first gates |
34
- | **Ambiguity Gate** | Pre-routing clarity scoring and clarification questions |
28
+ | **D3 Dependency Graph** | Interactive force-directed graph visualization at `/graph` zoom, pan, drag, search, type filters |
29
+ | **Playwright E2E Tests** | 11 accessibility tests with axe-core audit, `.pw.ts` extension for test isolation |
30
+ | **Graph Accessibility** | WCAG keyboard navigation, aria-live announcements, skip link, focus-visible, reduced-motion support |
31
+ | **CI Lockfile-Sync Gate** | New CI job validates bun.lockb consistency before lint/test |
32
+ | **Token Optimization** | HTML comment technique reduces CLAUDE.md from 550→286 lines (48% reduction) |
33
+ | **Workflow Engine** | YAML-defined workflow pipelines with `auto-dev` 7-step release batch |
34
+ | **CC v2.1.83–v2.1.85 Compat** | Conditional hook `if` field, CwdChanged/FileChanged events, managed-settings.d |
35
35
 
36
36
  ---
37
37
 
@@ -131,7 +131,7 @@ Agent(arch-documenter):haiku ┘
131
131
  |----------|-------|--------|
132
132
  | Languages | 6 | lang-golang, lang-python, lang-rust, lang-kotlin, lang-typescript, lang-java21 |
133
133
  | Backend | 6 | be-fastapi, be-springboot, be-go-backend, be-express, be-nestjs, be-django |
134
- | Frontend | 4 | fe-vercel, fe-vuejs, fe-svelte, fe-flutter |
134
+ | Frontend | 5 | fe-vercel, fe-vuejs, fe-svelte, fe-flutter, fe-design |
135
135
  | Data Engineering | 6 | de-airflow, de-dbt, de-spark, de-kafka, de-snowflake, de-pipeline |
136
136
  | Database | 4 | db-supabase, db-postgres, db-redis, db-alembic |
137
137
  | Tooling | 3 | tool-npm, tool-optimizer, tool-bun |
package/dist/cli/index.js CHANGED
@@ -9325,7 +9325,7 @@ var init_package = __esm(() => {
9325
9325
  workspaces: [
9326
9326
  "packages/*"
9327
9327
  ],
9328
- version: "0.62.5",
9328
+ version: "0.63.0",
9329
9329
  description: "Batteries-included agent harness for Claude Code",
9330
9330
  type: "module",
9331
9331
  bin: {
package/dist/index.js CHANGED
@@ -1674,7 +1674,7 @@ var package_default = {
1674
1674
  workspaces: [
1675
1675
  "packages/*"
1676
1676
  ],
1677
- version: "0.62.5",
1677
+ version: "0.63.0",
1678
1678
  description: "Batteries-included agent harness for Claude Code",
1679
1679
  type: "module",
1680
1680
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.62.5",
6
+ "version": "0.63.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -36,6 +36,35 @@ Ecomode: `[lang-golang-expert] ✓ src/main.go reviewed: 1 naming issue (handle_
36
36
 
37
37
  Disable with: "ecomode off", "verbose mode", or "show full details".
38
38
 
39
+ ## Input Context Pruning
40
+
41
+ Active removal of irrelevant retrieved content from agent context. Complements output compression by managing the input side of token budget.
42
+
43
+ > **Terminology**: "Input Context Pruning" (R013) manages retrieved chunks during a task. "Memory Pruning" (R011) manages behavioral memory across sessions. These are distinct concepts.
44
+
45
+ ### Pruning Triggers
46
+
47
+ | Trigger | Condition | Action |
48
+ |---------|-----------|--------|
49
+ | Search overflow | Retrieved chunks > 10 | Retain top-K by relevance, prune rest |
50
+ | Context pressure | Context usage > 50% | Summarize oldest/lowest-relevance chunks |
51
+ | Multi-hop intermediate | Between retrieval hops | Replace previous hop raw results with summary |
52
+
53
+ ### Pruning Strategy
54
+
55
+ | Strategy | When | Behavior |
56
+ |----------|------|----------|
57
+ | **Retain** | Directly relevant code/docs | Keep as-is |
58
+ | **Summarize** | Background context, prior hop results | Replace with 1-2 line summary |
59
+ | **Drop** | Search noise, duplicates, already-reflected info | Remove entirely |
60
+
61
+ ### Rules
62
+
63
+ - Pruning is irreversible — generate summary BEFORE dropping original
64
+ - Prune at document/chunk level, not mid-sentence
65
+ - When in doubt, Summarize rather than Drop
66
+ - Track pruning decisions: `[Pruned] {N} chunks → {M} retained, {K} summarized, {J} dropped`
67
+
39
68
  ## Context Budget Management
40
69
 
41
70
  Task-type-aware context thresholds that trigger ecomode earlier for context-heavy operations.
@@ -58,6 +58,24 @@ avoid:
58
58
  - Special characters or complex syntax
59
59
  ```
60
60
 
61
+ ## Retrieval Strategy
62
+
63
+ ### Recall-Precision Tradeoff
64
+
65
+ Default bias: **recall > precision** — it is easier to filter out irrelevant results (false positives) than to recover missed information (false negatives).
66
+
67
+ | Task Type | Bias | Recommended --limit | Rationale |
68
+ |-----------|------|--------------------:|-----------|
69
+ | Debugging / Investigation | High recall (16:1) | 10-15 | Cast wide net, prune later |
70
+ | Decision reference | Balanced | 5 (default) | Moderate breadth with manageable noise |
71
+ | Specific fact lookup | High precision | 3 | Narrow, targeted retrieval |
72
+
73
+ ### Guidelines
74
+
75
+ - **Over-retrieve, then filter**: When uncertain, request more results and discard irrelevant ones in post-processing
76
+ - **Narrow progressively**: Start broad, refine query only if results are noisy — avoid starting too narrow
77
+ - **Combine temporal + semantic**: Add date filters (`--date`) to semantic queries for better precision without sacrificing recall
78
+
61
79
  ## Output Format
62
80
 
63
81
  ### Basic Search
@@ -228,6 +228,33 @@ Convergence expected by round 3. Hard stop at round 30.
228
228
  | Ecomode | Auto-activate for team result aggregation (R013) |
229
229
  | Intent display | Show research plan before execution (R015) |
230
230
 
231
+ ## Retrieval-Reasoning Separation
232
+
233
+ Retrieval and reasoning are distinct cognitive operations that benefit from explicit role separation. Mixing them in a single agent degrades both: retrieval becomes biased by premature conclusions, and reasoning gets polluted by search noise.
234
+
235
+ ### Principle
236
+
237
+ | Role | Phase | Model | Responsibility |
238
+ |------|-------|-------|----------------|
239
+ | Retriever | Phase 1 | sonnet (fast, broad) | Gather, catalog, enumerate — no judgment |
240
+ | Reasoner | Phase 2-3 | opus (deep, precise) | Verify, synthesize, judge — no new retrieval |
241
+
242
+ ### Why Separate
243
+
244
+ - **Retrieval bias**: A reasoning agent searching for evidence tends to confirm existing hypotheses (confirmation bias)
245
+ - **Context pollution**: Raw search results mixed with analysis obscure both
246
+ - **Cost efficiency**: Retrieval needs speed and breadth (cheaper model); reasoning needs depth (capable model)
247
+ - **Debuggability**: When results are wrong, separated roles make it clear whether the problem was bad retrieval or bad reasoning
248
+
249
+ ### Application in Research Workflow
250
+
251
+ | Phase | Role | Separation Rule |
252
+ |-------|------|-----------------|
253
+ | Phase 1 (10 teams) | Retriever | Teams gather and catalog only. No ADOPT/AVOID judgments. |
254
+ | Phase 2 (Verification) | Reasoner | Verifiers challenge claims using Phase 1 data. No new searches. |
255
+ | Phase 3 (Synthesis) | Reasoner | Synthesizer produces taxonomy from verified findings only. |
256
+ | Phase 4 (Output) | Reporter | Formats and persists. No new analysis. |
257
+
231
258
  ## Model Selection
232
259
 
233
260
  | Phase | Model | Rationale |
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.62.5",
2
+ "version": "0.63.0",
3
3
  "lastUpdated": "2026-03-24T00:00:00.000Z",
4
4
  "components": [
5
5
  {