Skip to content

docs: improve README structure for better readability#4

Merged
code-yeongyu merged 1 commit into
masterfrom
readme-structure-improvement
Dec 5, 2025
Merged

docs: improve README structure for better readability#4
code-yeongyu merged 1 commit into
masterfrom
readme-structure-improvement

Conversation

@code-yeongyu

Copy link
Copy Markdown
Owner

Summary

README 파일 구조를 개선하여 가독성과 사용자 경험을 향상시킵니다.

Changes

Structure Improvements

  • TL;DR 위치 변경: "Oh My OpenCode" 소개 직후, Installation 직전으로 이동하여 빠른 개요 제공
  • For LLM Agents 섹션 토글화: <details> 태그로 감싸 가독성 개선
  • 설정 섹션 간소화: 장황한 스키마 설명 제거, 핵심만 유지

Content Improvements

  • Model Override 예시 위치 수정: Configuration 섹션에서 Features > Agents 섹션 하단으로 이동
  • context7 MCP 추가 (한국어 README): 누락된 MCP 설명 추가

Verification Checklist

  • TL;DR is now before Installation
  • LLM Agent section is collapsible
  • Schema explanation simplified
  • Model override example in correct location
  • Both EN/KO READMEs updated consistently

- Move TL;DR section before Installation for quick overview
- Wrap 'For LLM Agents' section in collapsible details tag
- Simplify Configuration section (remove verbose schema explanations)
- Move model override example to Features > Agents section
- Add context7 MCP to Korean README
@code-yeongyu code-yeongyu merged commit 4b7a4b0 into master Dec 5, 2025
1 check passed
@code-yeongyu code-yeongyu deleted the readme-structure-improvement branch December 21, 2025 09:13
sssgun pushed a commit to sssgun/oh-my-opencode that referenced this pull request Jan 18, 2026
- Move TL;DR section before Installation for quick overview
- Wrap 'For LLM Agents' section in collapsible details tag
- Simplify Configuration section (remove verbose schema explanations)
- Move model override example to Features > Agents section
- Add context7 MCP to Korean README
qwertystars added a commit to qwertystars/oh-my-opencode that referenced this pull request Jan 29, 2026
- Remove sisyphusJuniorModel fallback bypass (BUG #1)
  - userModel fallback was incorrectly bypassing category fallbackChain
  - Now correctly uses category requirements before system default

- Fix variant preservation in actualModel fallback path (BUG #2)
  - Variant was lost when categoryModel undefined but actualModel existed
  - Now preserves variant when falling back to actualModel parsing

- Add variant to session continuation (BUG code-yeongyu#3)
  - Session resume didn't pass variant from message history
  - Now extracts resumeVariant and passes as body.variant

- Remove unused inheritedModel parameter (BUG code-yeongyu#4)
  - resolveCategoryConfig had misleading unused parameter
  - Cleaned up function signature and all call sites

- Add variant-model compatibility validation (BUG code-yeongyu#5)
  - No warning when variant might not be supported by provider
  - Added isVariantLikelySupported() validation with console.warn

Test coverage:
- Updated 10+ existing tests to remove inheritedModel references
- Added 9 new tests for variant validation functions
- All 110 tests pass (77 delegate-task + 33 model-requirements)
sadnow referenced this pull request in sadnow/oh-my-opencode Feb 3, 2026
Task 4 complete - Wave 2:
- Apply normalizeModelID() in parseModelRef (tiers.ts)
- Apply normalizeModelID() in extractModelName (token-estimator.ts)
- Update test expectations for normalized outputs
- Fixes Bug #4: Model name inconsistencies

All normalization tests passing. Backward compatible.
marlon-costa-dc added a commit to marlon-costa-dc/oh-my-opencode that referenced this pull request Feb 11, 2026
…ate on plan approval

- Change mcb.* to /mcb.* in .gitignore to avoid ignoring source files like src/config/schema/mcb.ts
- Add resumeTeammateWithMessage() call after plan_approved and plan_rejected paths in send-message-tool.ts
- Fixes PR review comments code-yeongyu#3 and code-yeongyu#4 from cubic-dev-ai
youngbinkim0 added a commit to youngbinkim0/oh-my-opencode that referenced this pull request Feb 20, 2026
…ts, abort before retry

- Swap resolveAgentForSession priority: session agent before event agent (Bug code-yeongyu#2)
- Add pinnedSessionAgentMap so /start-work agent can't be overwritten by SDK events (Bug code-yeongyu#3)
- Abort in-flight request before fallback promptAsync to prevent silent drops (Bug code-yeongyu#1)
- Add session.get fallback for agent resolution when chat.message never fires (Bug code-yeongyu#4)
- Fix agentPattern regex: replace \b with custom boundary for underscore-delimited session IDs
- Revert resolveAgentFromModel reverse-lookup (unreliable with overlapping models)
- Add tests for pinned agents (8), agent-resolver (17), abort ordering, session.get resolution
luobosibing2 pushed a commit to luobosibing2/oh-my-opencode that referenced this pull request Feb 23, 2026
Adds ecomode as an alternative to ultrawork that prefers Haiku/Sonnet
agents and avoids Opus, targeting pro-plan users who want cost efficiency.

New files:
- skills/ecomode/SKILL.md - Main skill with 15-domain agent routing
- commands/ecomode.md - User docs (aliases: eco, efficient, save-tokens, budget)
- skills/cancel-ecomode/SKILL.md - Cancel skill following existing pattern

Modified:
- docs/CLAUDE.md - Split keyword routing, conflict resolution, default mode config
- skills/omc-setup/SKILL.md - Step 3.7 for default execution mode selection
- skills/cancel/SKILL.md - Ecomode at priority code-yeongyu#4 with ralph-linking

Routing rules:
- "ulw"/"ultrawork" → always ultrawork
- "eco"/"ecomode" → always ecomode
- "fast"/"parallel" → reads defaultExecutionMode from config
- Conflict (both present) → ecomode wins (more restrictive)

Also includes v3.4.0 facelift changes and ultrapilot command documentation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
luobosibing2 pushed a commit to luobosibing2/oh-my-opencode that referenced this pull request Feb 23, 2026
…-yeongyu#309)

Critical fixes:
- Bug #1: SubagentStop hook defaulted all agents to 'failed' because SDK
  doesn't provide `success` field. Now defaults to 'completed' when undefined.
- Bug code-yeongyu#4: Token stats lost across TokenTracker instances. Constructor now
  restores session stats from global state for the same session ID.
- Bug code-yeongyu#5: Ultrawork session isolation bypassed when both session IDs were
  undefined (undefined === undefined). Now rejects all falsy session IDs.

High priority fixes:
- Bug code-yeongyu#6: Cancel skill force-clear missed 12+ state files (boulder,
  hud-state, subagent-tracking, checkpoints, etc). Added comprehensive list.
- Bug code-yeongyu#7: HUD semverCompare() returned NaN on pre-release versions like
  "3.9.5-beta". Fixed to use parseInt and handle pre-release ordering.
- Bug code-yeongyu#8: Silent JSON parse failures in critical state readers. Added
  error logging to ralph and ultrawork state readers.
- Bug code-yeongyu#9: Stale task detection had no default behavior when onStaleSession
  callback was not configured. Now auto-cleans after 2x threshold.
- Bug code-yeongyu#10: Hardcoded 3-architect assumption in validation. Extracted to
  REQUIRED_ARCHITECTS constant.

Medium priority fixes:
- Bug code-yeongyu#11: Auto-invoke history used non-atomic writes. Now uses
  atomicWriteJson to prevent corruption from concurrent sessions.
- Bug code-yeongyu#12: Ecomode docs said "all tasks" use Haiku, contradicting the
  escalation paths. Clarified to "most tasks" with upgrade criteria.
- Bug code-yeongyu#13: Added safeUnlinkSync/safeRmSync utilities to prevent ENOENT
  crashes during cleanup operations.
- Bug code-yeongyu#14: State files containing user prompts written with 0644
  permissions. Now writes with 0600 (owner-only read/write).
- Bug code-yeongyu#15: Model names recorded inconsistently (e.g., 'claude-3-5-haiku'
  vs 'claude-haiku-4'). Now normalizes at recording time via exported
  normalizeModelName().

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
code-yeongyu pushed a commit that referenced this pull request Feb 24, 2026
…hardening

Fixes from multi-model council audit (7 members, 19 findings, 9 selected):

- Use parseModelString() for cross-provider Anthropic thinking config (#3)
- Update stale AGENTS.md athena directory listing (#4)
- Replace prompt in appendMissingCouncilPrompt instead of appending (#5)
- Extract duplicated session cleanup logic in agent-switch hook (#6)
- Surface skipped council members when >=2 valid members exist (#9)
- Expand fallback handoff regex with negation guards (#11)
- Remove dead council-member agent from agentSources and tests (#12)
- Make runtime council member duplicate check case-insensitive (#14)
- Fix false-positive schema tests by adding required name field (#18)
DarkFunct added a commit to DarkFunct/oh-my-opencode that referenced this pull request Mar 25, 2026
…tracking

- Remove overly broad /not found/i regex that matched grep 'No matches found' output
- Replace /expect.*to/i test pattern with /AssertionError/i for precise test failure detection
- Narrow trackBuildResult regex from /error/i to /(?:compilation|type)\s+error/i
- Add bash quiet-success handler to reset lastBuildResult from 'fail' to 'unknown'

Fixes P-007 (false-positive error tracking chain) bugs code-yeongyu#1, code-yeongyu#2, code-yeongyu#4

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
LegendEvent added a commit to LegendEvent/oh-my-openagent that referenced this pull request Apr 7, 2026
The loop detector's check code-yeongyu#4 used consecutiveCount > 1 as a guard, meaning a single retry of one file amidst 22 different reads triggered the breaker (consecutiveToolNameCount=22, consecutiveCount=2). Now requires consecutiveCount >= max(3, ceil(threshold/2)) identical calls — a single retry won't fire but 5+ identical calls still will.

Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent)

Co-authored-by: Sisyphus <clio-agent@sisyphuslabs.ai>
code-yeongyu pushed a commit that referenced this pull request Apr 15, 2026
…hardening

Fixes from multi-model council audit (7 members, 19 findings, 9 selected):

- Use parseModelString() for cross-provider Anthropic thinking config (#3)
- Update stale AGENTS.md athena directory listing (#4)
- Replace prompt in appendMissingCouncilPrompt instead of appending (#5)
- Extract duplicated session cleanup logic in agent-switch hook (#6)
- Surface skipped council members when >=2 valid members exist (#9)
- Expand fallback handoff regex with negation guards (#11)
- Remove dead council-member agent from agentSources and tests (#12)
- Make runtime council member duplicate check case-insensitive (#14)
- Fix false-positive schema tests by adding required name field (#18)
hexstyle pushed a commit to hexstyle/oh-my-openagent that referenced this pull request Apr 15, 2026
…hardening

Fixes from multi-model council audit (7 members, 19 findings, 9 selected):

- Use parseModelString() for cross-provider Anthropic thinking config (code-yeongyu#3)
- Update stale AGENTS.md athena directory listing (code-yeongyu#4)
- Replace prompt in appendMissingCouncilPrompt instead of appending (code-yeongyu#5)
- Extract duplicated session cleanup logic in agent-switch hook (code-yeongyu#6)
- Surface skipped council members when >=2 valid members exist (code-yeongyu#9)
- Expand fallback handoff regex with negation guards (code-yeongyu#11)
- Remove dead council-member agent from agentSources and tests (code-yeongyu#12)
- Make runtime council member duplicate check case-insensitive (code-yeongyu#14)
- Fix false-positive schema tests by adding required name field (code-yeongyu#18)
RobertWsp added a commit to RobertWsp/oh-my-opencode that referenced this pull request Apr 22, 2026
Live E2E revealed that OpenCode's tool.execute.after hook receives
input={tool,sessionID,callID} without args. The original args surface
through output.metadata.agent (display name like 'Momus - Plan Critic')
and output.metadata.prompt.

Changes:
- extractSubagentType now inspects args.subagent_type AND
  metadata.agent AND metadata.task.* as fallbacks.
- Added normalizeSubagentName that strips zero-width chars and
  lowercases first token so 'Hephaestus - Deep Agent' matches
  reviewableAgents=['hephaestus'].
- reviewableAgents set is normalized on creation so comparison is
  case-insensitive and whitespace-tolerant.
- implementerSessionID prefers metadata.sessionID/sessionId/session_id
  before regex-scanning the output string.
- extractPrompt now reads metadata.prompt as fallback.

Tests: 9/9 pass (existing mocks pass args, which is still supported
as primary path; metadata path is the fallback used in real runtime).

Validated against live E2E of 'Refactor arquitetural: extrair
validacao' where the pipeline reached delegation code-yeongyu#4 and the agent
successfully dispatched Prometheus -> Momus review -> Hephaestus
implementation. Files created: src/shared/validation.test.js (plan
execution in progress at commit time).
Coldaine referenced this pull request in Coldaine/oh-my-openagent May 20, 2026
…ing detection

**Justification — Oracle analysis #4:**
Oracle: 'Add constrained critic lenses to Telamon without making it Momus.'
Telamon v1 answered one question: insight or measurement? Telamon v2
inherits gem-critic's analytical lenses while staying purpose-focused.

**What changed — telamon.ts:**
- JSDoc updated with Oracle citation and gem-critic source references
- 5 critical lenses subordinate to the primary insight question:
  1. Assumption audit — hidden assumptions that reduce to measurement
  2. Over-engineering detection — >50% complexity for <10% insight = blocking
  3. Decomposition validity — by analytical step vs by data source
  4. Causal chain presence — cause/effect vs correlation
  5. Scope-to-insight ratio — scope matches promised insight
- Severity framework: blocking | warning | suggestion
  (at least one blocking required for ITERATE)
- what_works acknowledgment — gem-critic pattern: acknowledge strengths
  before listing failures
- Enhanced output format: What Works, Blocking Issues, Warnings sections
  added

**Why this matters:**
Telamon v1 was binary (OKAY/ITERATE with one reason). Telamon v2
produces actionable, tiered feedback that names exactly which dimension
failed and why. The over-engineering rule ('50% complexity for <10%
insight = blocking') is directly from gem-critic and catches the most
common failure mode: plans that add rigor without insight.

**Gem-critic sources:**
- assumption audit (gem-critic.agent.md:51-55)
- challenge dimensions (gem-critic.agent.md:57-70)
- severity synthesis + what_works (gem-critic.agent.md:72-85)
- over-engineering rule (gem-critic.agent.md:148)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant