oh-my-customcode 0.152.0 → 0.153.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/dist/cli/index.js CHANGED
@@ -2334,7 +2334,7 @@ var init_package = __esm(() => {
2334
2334
  workspaces: [
2335
2335
  "packages/*"
2336
2336
  ],
2337
- version: "0.152.0",
2337
+ version: "0.153.0",
2338
2338
  description: "Batteries-included agent harness for Claude Code",
2339
2339
  type: "module",
2340
2340
  bin: {
package/dist/index.js CHANGED
@@ -2031,7 +2031,7 @@ var package_default = {
2031
2031
  workspaces: [
2032
2032
  "packages/*"
2033
2033
  ],
2034
- version: "0.152.0",
2034
+ version: "0.153.0",
2035
2035
  description: "Batteries-included agent harness for Claude Code",
2036
2036
  type: "module",
2037
2037
  bin: {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "workspaces": [
4
4
  "packages/*"
5
5
  ],
6
- "version": "0.152.0",
6
+ "version": "0.153.0",
7
7
  "description": "Batteries-included agent harness for Claude Code",
8
8
  "type": "module",
9
9
  "bin": {
@@ -103,6 +103,25 @@ Reference issues: #1188 item #4.
103
103
 
104
104
  **Why**: 사용자 directive 일관성 — #1208 보고. 같은 세션 내 동일 의도를 반복 차단하면 R015 user directive persistence 위반.
105
105
 
106
+ ### Destructive Operation Approval Persistence (Generalized)
107
+
108
+ The Git Push Continuation pattern (first-time strict / follow-up relaxed, scoped to session + category + target) generalizes to ALL repeated destructive operations within the same session. Examples: `supabase db push`, `terraform apply`, `kubectl delete`, bulk file deletes, database migrations.
109
+
110
+ **Scope**: once the user explicitly approves a destructive operation of category C against target T in a session, follow-up operations of the SAME C + SAME T do NOT require re-confirmation. An advisory warning is still emitted. A different category or different target always requires fresh confirmation.
111
+
112
+ | Scenario | Behavior |
113
+ |----------|----------|
114
+ | 1st explicit approval (category C, target T) | Proceed; advisory warning emitted |
115
+ | Follow-up same session (same C + same T) | No re-confirmation (directive persistence) |
116
+ | Different category or target | Fresh confirmation required |
117
+ | Platform classifier still prompts | Advise user: add `settings.json` permission rule for the specific command |
118
+
119
+ **R001 exclusion (MUST)**: R001-listed catastrophic git operations (`git reset --hard`, `git clean -fd`, `git push --force` to shared branches, `git branch -D` with unmerged commits) are EXCLUDED from this persistence rule — they always require explicit per-invocation approval regardless of prior session approvals.
120
+
121
+ **Boundary / honesty note**: This rule is ADVISORY and governs model behavior only. It CANNOT suppress Claude Code's platform-level auto-mode classifier prompts. For genuine prompt suppression on a repeated destructive command, the user must add a `settings.json` permission allow rule scoped to the specific command (e.g., a specific `supabase db push` invocation). The model SHOULD surface this workaround when the user expresses friction about repeated prompts.
122
+
123
+ Cross-references: R001 (safety — destructive operation pre-checks still apply), R002 (permission tiers). Reference issues: #1230, #1226 (item 2).
124
+
106
125
  ## Agent Triggers
107
126
 
108
127
  Defined in `.claude/skills/intent-detection/patterns/agent-triggers.yaml`. Each agent has keywords, file patterns, actions, and base confidence.
@@ -351,7 +351,7 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
351
351
 
352
352
  ### Session-End Self-Check (MANDATORY)
353
353
 
354
- (1) sys-memory-keeper updated MEMORY.md? (2) claude-mem save attempted? (3) If `omcustom-feedback` skill is active, prompt user to trigger it? All three required before confirming to user. See full self-check via Read tool.
354
+ (1) sys-memory-keeper updated MEMORY.md? (2) claude-mem save attempted? (3) If `omcustom-feedback` skill is active, model MAY draft a retrospective feedback issue for user approval — or prompt user to trigger it manually. All three required before confirming to user. See full self-check via Read tool.
355
355
 
356
356
  <!-- DETAIL: Session-End Self-Check (MANDATORY)
357
357
  ```
@@ -367,8 +367,10 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
367
367
  ║ NO → ToolSearch + save now ║
368
368
  ║ ║
369
369
  ║ 3. Is omcustom-feedback skill available in this project? ║
370
- ║ YES → Ask user: "이번 세션 피드백을 omcustom-feedback로
371
- 기록하시겠습니까?" accept skip
370
+ ║ YES → If notable friction/learning observed: MODEL DRAFTS
371
+ retrospective issue presents via Phase 4A preview
372
+ ║ gate for user approval. Otherwise: prompt user to ║
373
+ ║ trigger manually. Accept skip either way. ║
372
374
  ║ NO → Skip ║
373
375
  ║ ║
374
376
  ║ Note: episodic-memory auto-indexes conversations after session ║
@@ -381,6 +383,33 @@ MCP tools (claude-mem, episodic-memory) are **orchestrator-scoped** and not inhe
381
383
  ```
382
384
  -->
383
385
 
386
+ ### Session-End Retrospective Feedback (Model-Drafted)
387
+
388
+ Since `omcustom-feedback` is now model-invocable (#1227), the model MAY draft a retrospective feedback issue at session end — instead of only prompting the user to compose one manually.
389
+
390
+ **Workflow**
391
+
392
+ 1. Model detects notable friction, workarounds, or harness gaps observed during the session.
393
+ 2. Model drafts a feedback issue (title + body) using the `omcustom-feedback` skill.
394
+ 3. Draft is presented through the skill's **Phase 4A preview + confirmation gate**. The user reviews and approves before any GitHub issue is created.
395
+ 4. The model NEVER auto-submits. User approval is always required.
396
+
397
+ **Trigger conditions** (all must be true):
398
+ - Session-end detected
399
+ - Notable friction or learning observed during the session
400
+ - `omcustom-feedback` skill active in this project
401
+
402
+ **Distinction from manual path**
403
+
404
+ | Path | Who drafts | Who approves | When |
405
+ |------|-----------|--------------|------|
406
+ | Manual (existing) | User | User | User chooses to file feedback |
407
+ | Model-drafted (new, #1226 item 3) | Model | User (Phase 4A gate) | Session-end with notable friction |
408
+
409
+ The model-drafted path is an enhancement: it proposes a concrete draft rather than asking the user to compose from scratch. Both paths remain valid; neither replaces the other.
410
+
411
+ References: #1226 (item 3), #1227.
412
+
384
413
  ### Failure Policy
385
414
 
386
415
  - MCP saves are **non-blocking**: memory failure MUST NOT prevent session from ending
@@ -418,7 +447,7 @@ Phase 1 COEXIST 기간 중 세션 종료 시:
418
447
  1. sys-memory-keeper가 MEMORY.md 갱신? → YES: 계속
419
448
  2. claude-mem 저장 시도? → YES (기존 항목)
420
449
  3. AgentMemory 저장 시도? → YES (COEXIST 추가)
421
- 4. omcustom-feedback 권유? → YES (활성 ) / 스킵 (비활성 시)
450
+ 4. omcustom-feedback 처리? → YES (활성 시, notable friction 있으면 model draft → Phase 4A gate; 없으면 사용자 권유) / 스킵 (비활성 시)
422
451
  네 단계 모두 완료 후 사용자에게 확인. 둘 중 하나 실패해도 비차단.
423
452
 
424
453
  ### Phase 2 진입 전 필수 조건
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.152.0",
2
+ "version": "0.153.0",
3
3
  "lastUpdated": "2026-05-20T00:00:00.000Z",
4
4
  "omcustomMinClaudeCode": "2.1.121",
5
5
  "omcustomMinClaudeCodeReason": "Sensitive-path direct Write/Edit on .claude/** under bypassPermissions (R010 deprecation, #1101)",