oh-my-customcodex 0.5.0 → 0.5.2

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 (52) hide show
  1. package/README.md +6 -6
  2. package/dist/cli/index.js +168 -13
  3. package/dist/index.js +150 -8
  4. package/package.json +1 -1
  5. package/templates/.claude/agents/qa-engineer.md +7 -0
  6. package/templates/.claude/hooks/hooks.json +28 -0
  7. package/templates/.claude/hooks/scripts/agent-capability-precheck.sh +99 -0
  8. package/templates/.claude/hooks/scripts/agent-mode-guard.sh +14 -3
  9. package/templates/.claude/hooks/scripts/git-delegation-guard.sh +14 -5
  10. package/templates/.claude/hooks/scripts/plugin-cache-check.sh +42 -0
  11. package/templates/.claude/hooks/scripts/session-reflection.sh +106 -0
  12. package/templates/.claude/output-styles/korean-engineer.md +4 -0
  13. package/templates/.claude/rules/MUST-agent-identification.md +50 -22
  14. package/templates/.claude/rules/MUST-agent-teams.md +6 -2
  15. package/templates/.claude/rules/MUST-completion-verification.md +11 -0
  16. package/templates/.claude/rules/MUST-continuous-improvement.md +15 -1
  17. package/templates/.claude/rules/MUST-intent-transparency.md +29 -0
  18. package/templates/.claude/rules/MUST-language-policy.md +7 -0
  19. package/templates/.claude/rules/MUST-orchestrator-coordination.md +62 -0
  20. package/templates/.claude/rules/MUST-tool-identification.md +19 -0
  21. package/templates/.claude/rules/SHOULD-memory-integration.md +27 -12
  22. package/templates/.claude/skills/adversarial-review/SKILL.md +10 -0
  23. package/templates/.claude/skills/dev-review/SKILL.md +15 -5
  24. package/templates/.claude/skills/harness-export/SKILL.md +46 -0
  25. package/templates/.claude/skills/instinct-extractor/SKILL.md +54 -0
  26. package/templates/.claude/skills/manifest-install/SKILL.md +53 -0
  27. package/templates/.claude/skills/memory-management/SKILL.md +71 -12
  28. package/templates/.claude/skills/memory-recall/SKILL.md +6 -4
  29. package/templates/.claude/skills/memory-save/SKILL.md +8 -5
  30. package/templates/.claude/skills/pipeline/labels.md +55 -0
  31. package/templates/.claude/skills/sec-agentshield-wrapper/SKILL.md +49 -0
  32. package/templates/.claude/skills/systematic-debugging/SKILL.md +44 -0
  33. package/templates/.claude/skills/systematic-debugging/phases/amplification-detection.md +25 -0
  34. package/templates/.claude/skills/systematic-debugging/phases/fault-injection.md +31 -0
  35. package/templates/.claude/skills/systematic-debugging/phases/retry-cache-timeout-audit.md +27 -0
  36. package/templates/.claude/skills/systematic-debugging/phases/timeline-correlation.md +26 -0
  37. package/templates/.claude/statusline.sh +40 -9
  38. package/templates/AGENTS.md.en +6 -2
  39. package/templates/AGENTS.md.ko +6 -2
  40. package/templates/CLAUDE.md +6 -2
  41. package/templates/CLAUDE.md.en +6 -2
  42. package/templates/CLAUDE.md.ko +6 -2
  43. package/templates/README.md +110 -0
  44. package/templates/guides/agent-teams/troubleshooting.md +53 -0
  45. package/templates/guides/autonomous-challenge-lessons/README.md +43 -0
  46. package/templates/guides/claude-code/14-token-efficiency.md +6 -1
  47. package/templates/guides/claude-code/15-version-compatibility.md +86 -0
  48. package/templates/guides/claude-code-tracking.md +51 -0
  49. package/templates/guides/index.yaml +12 -0
  50. package/templates/manifest.json +4 -4
  51. package/templates/tests/tsconfig.json +7 -0
  52. package/templates/workflows/auto-dev.yaml +80 -5
@@ -22,12 +22,16 @@ Use R013 ecomode and existing runtime guards when you want to compress active-se
22
22
 
23
23
  This layer changes how the session behaves while work is running.
24
24
 
25
- ## Layer 3: Tool-Specific Compression
25
+ ## Layer 3: Retrieval and Tool-Specific Compression
26
+
27
+ Use semantic code search or graph retrieval before broad file reads when the problem is repository exploration. Prefer Semble when an indexed semantic MCP is connected, and prefer CRG/code-review-graph when the task needs impact radius or dependency context. Fall back to `rg` and targeted reads when those tools are unavailable.
26
28
 
27
29
  Use `playwright-compress` when the problem is not the whole session, but one extremely verbose browser tool result.
28
30
 
29
31
  This layer is intentionally narrow:
30
32
 
33
+ - use Semble for high-recall code search over large repositories
34
+ - use CRG for `get_minimal_context`, `get_impact_radius`, and trust-boundary graph queries
31
35
  - compress verbose Playwright MCP output after the tool succeeds
32
36
  - preserve `ref=` tokens and URLs for follow-up interaction
33
37
  - keep browser evidence actionable without keeping the full raw payload in context
@@ -64,6 +68,7 @@ Typical settings-level levers:
64
68
  |------|------------|
65
69
  | Protect cache value across pauses | Layer 1 |
66
70
  | Compress runtime behavior in large sessions | Layer 2 |
71
+ | Reduce broad code-search reads | Layer 3 |
67
72
  | Compress one noisy browser interaction | Layer 3 |
68
73
  | Reduce baseline token spend from configuration | Layer 4 |
69
74
 
@@ -2,6 +2,75 @@
2
2
 
3
3
  This guide records Claude Code release-note impact that affects the Claude compatibility template. The Codex-native runtime still uses `.codex/**` and OMX as the primary surface.
4
4
 
5
+ ## v2.1.146
6
+
7
+ Published: 2026-05-21.
8
+
9
+ Source: upstream oh-my-customcode #1205, Codex port #1364.
10
+
11
+ | Change | Impact on oh-my-customcodex | Action |
12
+ |--------|------------------------------|--------|
13
+ | `/simplify` was renamed to `/code-review` and accepts effort levels such as `/code-review high` | Native Claude command naming is now closer to review workflows, but this package still exposes its own `dev-review` skill. | No runtime rename. Keep user-facing docs clear that `dev-review` is the package skill and `/code-review` is the native Claude command. |
14
+ | Auto mode no longer suppresses `AskUserQuestion` when the user or a skill explicitly relies on it | Ambiguity-gated compatibility workflows can ask explicit questions even in auto mode. | No Codex tool change. Keep `request_user_input`/question usage limited to genuinely branching cases. |
15
+ | MCP `resources/list`, `resources/templates/list`, and `prompts/list` pagination was fixed | Large memory or ontology MCP servers are less likely to hide resources after page 1. | No package change; treat complete paginated MCP lists as more reliable evidence. |
16
+ | `CLAUDE_CODE_SUBAGENT_MODEL` is forwarded to child processes in multi-agent sessions | Claude compatibility sessions with model env overrides now preserve child-process model intent. | No Codex model override. Codex-native child agents still follow repo model routing and inherited defaults. |
17
+ | `/background` accepts skill-only or custom-slash-only input and background sessions preserve granted tool permissions | Long-running Claude compatibility sessions are less likely to stall on already granted permissions. | No Codex change. Keep permission expectations explicit in workflow prompts. |
18
+ | Agent SDK streaming end-of-session exception was fixed | Agent SDK plugin experiments should be less noisy at stream completion. | Monitor only; no package change. |
19
+
20
+ ## v2.1.145
21
+
22
+ Published: 2026-05-19.
23
+
24
+ Source: upstream oh-my-customcode #1191, Codex port #1353.
25
+
26
+ | Change | Impact on oh-my-customcodex | Action |
27
+ |--------|------------------------------|--------|
28
+ | Statusline input includes structured GitHub fields such as `gh.repo`, `gh.pr_number`, and `gh.pr_state` | Removes the need to call `gh pr view` on every refresh when Claude compatibility statusline JSON already carries PR context. | Ported. `statusline.sh` now prefers native `gh.*` fields and falls back to the cached `gh pr view` path only when they are absent. |
29
+ | Additional statusline fields may be empty strings | Empty fields can collapse TSV parsing if not normalized. | Ported. Empty native GitHub fields are normalized before Bash reads them. |
30
+ | Stability fixes for statusline and background sessions are additive | No Codex runtime change beyond template compatibility. | Keep `.codex/**` behavior primary and mirror compatibility docs. |
31
+
32
+ ## v2.1.144
33
+
34
+ Published: 2026-05-18.
35
+
36
+ Source: upstream oh-my-customcode #1187, Codex port #1349.
37
+
38
+ | Change | Impact on oh-my-customcodex | Action |
39
+ |--------|------------------------------|--------|
40
+ | `claude agents --json` exposes structured background-agent state | Claude compatibility statusline and monitoring can show active agent counts without parsing display text. | Ported. Statusline JSON `agents` arrays render as `A:N` when active agents exist. |
41
+ | Stop/SubagentStop input can include `background_tasks` and `session_crons` | Session-end hooks can detect dangling background work and cron state. | Ported. `session-reflection.sh` records counts and summaries when those fields are present. |
42
+ | Background-agent status handling became more reliable | Reduces false stale-agent diagnostics for Claude compatibility users. | Keep existing Codex/OMX agent tracking and treat Claude JSON as optional compatibility evidence. |
43
+
44
+ ## v2.1.143
45
+
46
+ Published: 2026-05-17.
47
+
48
+ Source: upstream oh-my-customcode #1166, Codex port #1348.
49
+
50
+ | Change | Impact on oh-my-customcodex | Action |
51
+ |--------|------------------------------|--------|
52
+ | Hook/session lifecycle payloads became richer for background work | The compatibility template can capture more useful session-end evidence without blocking shutdown. | Ported through the advisory `session-reflection.sh` Stop/SubagentStop hook. |
53
+ | Background session handling received additional fixes | Helps Claude compatibility workflows that run long-lived agents. | No Codex runtime change; document behavior and keep OMX-native orchestration as primary. |
54
+ | Release-note changes are Claude-template oriented | The package must avoid redesigning Codex-native flow for Claude-only payload additions. | Mirror the compatibility guide and add tests that lock template/source docs together. |
55
+
56
+ ## v2.1.142
57
+
58
+ Published: 2026-05-14.
59
+
60
+ Source: upstream oh-my-customcode #1158, Codex port #1329.
61
+
62
+ | Change | Impact on oh-my-customcodex | Action |
63
+ |--------|------------------------------|--------|
64
+ | `claude agents` added `--add-dir`, `--settings`, `--mcp-config`, `--plugin-dir`, `--permission-mode`, `--model`, `--effort`, and `--dangerously-skip-permissions` | Useful for Claude compatibility sessions that need CLI-level overrides for background agents. Codex-native child agents still use the Codex tool surface and repo model contract. | No Codex runtime change. Keep unattended Claude-template prompts explicit about permission mode. |
65
+ | Fast Mode now defaults to Opus 4.7 | Only affects Claude compatibility users running Fast Mode with `model: opus` agents. | Pin with `CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1` only when a compatibility session needs old behavior. |
66
+ | Root-level plugin `SKILL.md` is surfaced as a skill | Does not change this repo's packaged `.claude/skills/<name>/SKILL.md` layout. | No template migration. |
67
+ | `/plugin details` shows plugin LSP servers | Improves plugin inventory visibility for compatibility users. | No package change. |
68
+ | `/web-setup` warns before replacing an existing GitHub App connection | UX safety improvement outside this harness. | No action. |
69
+ | `MCP_TOOL_TIMEOUT` now raises remote HTTP/SSE MCP request timeout as intended | Helpful for slow remote memory or ontology MCP servers. | Set `MCP_TOOL_TIMEOUT` in affected environments only. |
70
+ | Background sessions can edit existing git worktrees | Stabilizes Claude compatibility workflows that use git worktrees for parallel branches. | No Codex-side change. |
71
+ | Background sessions survive macOS sleep/wake more reliably | Improves long-running Claude compatibility sessions. | No action. |
72
+ | `--dangerously-skip-permissions` persists across retire/wake cycles | Reduces unattended permission-mode drops for Claude compatibility sessions. | Keep explicit permission guidance in workflow prompts. |
73
+
5
74
  ## v2.1.141
6
75
 
7
76
  Published: 2026-05-13.
@@ -50,6 +119,23 @@ Published: 2026-05-11.
50
119
  | Native `/goal` | The packaged workflow uses `/omcustomcodex:goal`; native `/goal` stays available for Claude Code completion tracking. |
51
120
  | `claude agents`, `/scroll-speed`, `claude plugin details <name>`, `/mcp` reconnect | Documented in the CLI, MCP, AGENTS, and CLAUDE template guidance. |
52
121
 
122
+ ## Known Limitations
123
+
124
+ ### Parent `.gitignore` nested plan pattern
125
+
126
+ Source: upstream oh-my-customcode #1147, Codex port #1326.
127
+
128
+ The parent package documented a future-proofing limitation for this pattern:
129
+
130
+ ```gitignore
131
+ docs/superpowers/plans/*
132
+ !docs/superpowers/plans/*.md
133
+ ```
134
+
135
+ That pattern only tracks direct-child Markdown files. Git cannot re-include a file inside a directory that was already excluded by a broader parent pattern unless the directory path is also re-included.
136
+
137
+ Current Codex-port status: not applicable. This repository does not ignore `docs/superpowers/plans/`, and existing nested plan documents are trackable. If a future ignore rule reintroduces that parent pattern, add explicit subdirectory re-includes before relying on nested plan files.
138
+
53
139
  ## Compatibility Rules
54
140
 
55
141
  1. Keep `.codex/**` as the source of truth for the Codex package.
@@ -0,0 +1,51 @@
1
+ # Background Agent Progress Tracking
2
+
3
+ This is the Codex/OMX replacement for the old Claude Code background-agent tracking pattern. Use it when a subagent, team member, or delegated task keeps running while the main conversation moves on.
4
+
5
+ ## What To Track
6
+
7
+ | Field | Purpose | Suggested source |
8
+ | --- | --- | --- |
9
+ | `agent_id` | Identify the worker unambiguously | Team member label or agent name |
10
+ | `task` | Record what the worker is doing | The delegated prompt or issue title |
11
+ | `state` | Show the current lifecycle stage | `queued`, `running`, `blocked`, `done`, `cleaned` |
12
+ | `last_update` | Detect stale work | Timestamp from the latest status write |
13
+ | `owner` | Tie progress to the current session | Branch, run, or team lead |
14
+ | `next_action` | Make the next step obvious | `wait`, `retry`, `cleanup`, or `handoff` |
15
+
16
+ ## Preferred Surfaces
17
+
18
+ - `.omx/state/` for durable session state.
19
+ - `.omx/notepad.md` for lightweight progress notes.
20
+ - `.omx/logs/` for execution traces and failure evidence.
21
+ - `tracker-checkpoint` when you need a dedicated checkpoint agent to own progress bookkeeping.
22
+
23
+ ## Minimal Progress Loop
24
+
25
+ 1. Register the background task before it starts.
26
+ 2. Write a start record with the task and owner.
27
+ 3. Update the state when the worker changes phase.
28
+ 4. Mark the worker blocked instead of polling forever.
29
+ 5. Mark the worker done, then clean stale state if anything remains attached.
30
+
31
+ ## Recommended Status Format
32
+
33
+ ```text
34
+ agent: tracker-checkpoint
35
+ task: mirror rule and guide updates
36
+ state: running
37
+ last_update: 2026-05-24T12:00:00+09:00
38
+ owner: release/v0.5.2-auto-dev
39
+ next_action: wait_for_mirror_sync
40
+ ```
41
+
42
+ ## Staleness Rule
43
+
44
+ If a background worker stops updating, treat it as stale after a short, defined window. Do not keep polling indefinitely. Either re-plan the task, hand it off, or clean it up.
45
+
46
+ ## Codex/OMX Notes
47
+
48
+ - The main conversation should read the newest state file, not a stale log excerpt, before deciding what to do next.
49
+ - If the worker is a team member, the progress record should make the team lead and branch obvious.
50
+ - A background task that has already completed should not keep emitting progress noise.
51
+ - Legacy Claude Code background-session references can remain as compatibility notes, but the default progress surface here is `.omx/state/`.
@@ -8,6 +8,18 @@ guides:
8
8
  source:
9
9
  type: internal
10
10
 
11
+ - name: agent-teams
12
+ description: Agent Teams shutdown and tmux fallback troubleshooting for Codex/OMX sessions
13
+ path: ./agent-teams/troubleshooting.md
14
+ source:
15
+ type: internal
16
+
17
+ - name: claude-code-tracking
18
+ description: Background agent progress tracking and stale-state handling for Codex/OMX sessions
19
+ path: ./claude-code-tracking.md
20
+ source:
21
+ type: internal
22
+
11
23
  # Frontend
12
24
  - name: impeccable-design
13
25
  description: AI design language reference — typography, color, motion, and UX writing for production-grade UI
@@ -1,11 +1,11 @@
1
1
  {
2
- "version": "0.5.0",
2
+ "version": "0.5.2",
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-04-28T00:01:33.302Z",
8
+ "lastUpdated": "2026-05-20T00:00:00.000Z",
9
9
  "components": [
10
10
  {
11
11
  "name": "rules",
@@ -23,13 +23,13 @@
23
23
  "name": "skills",
24
24
  "path": ".agents/skills",
25
25
  "description": "Reusable skill modules (project-scoped repo skills)",
26
- "files": 119
26
+ "files": 123
27
27
  },
28
28
  {
29
29
  "name": "guides",
30
30
  "path": "guides",
31
31
  "description": "Reference documentation",
32
- "files": 48
32
+ "files": 50
33
33
  },
34
34
  {
35
35
  "name": "hooks",
@@ -0,0 +1,7 @@
1
+ {
2
+ "extends": "../tsconfig.json",
3
+ "compilerOptions": {
4
+ "types": ["bun-types"]
5
+ },
6
+ "include": ["**/*.ts"]
7
+ }
@@ -13,28 +13,77 @@ observability:
13
13
  report_before: followup
14
14
 
15
15
  steps:
16
+ - name: preflight-sync
17
+ prompt: |
18
+ Phase 0 — Sync local repository and detect stale issue context before triage.
19
+
20
+ 1. Run `git fetch --all --tags --prune`.
21
+ 2. Compute `behind=$(git rev-list --count HEAD..origin/$(git rev-parse --abbrev-ref HEAD))`.
22
+ 3. If behind > 0 and the worktree is clean, run `git pull --ff-only` and report synced commits.
23
+ 4. If behind > 0 and the worktree is dirty, halt with a manual reconcile message.
24
+ 5. Report latest tag, local HEAD, and synced/behind state.
25
+ 6. Compare open issue body `vX.Y.Z` references against local git tags and warn on references to missing tags.
26
+ 7. Create required lifecycle labels idempotently: in-progress, verify-ready, needs-review, decision-needed.
27
+ description: Sync remote state, detect stale version references, and ensure lifecycle labels
28
+
16
29
  - name: issue-analysis
30
+ depends_on: preflight-sync
17
31
  parallel:
18
32
  - name: pre-triage
19
33
  skill: professor-triage
20
- description: Run professor-triage on open issues that lack verify-done label, including release-monitor labels codex-release and oh-my-codex-release
34
+ description: Run professor-triage on open issues that lack verify-done label, including release-monitor labels codex-release and oh-my-codex-release; never terminate from an empty verify-done query alone while release-monitor issues remain
21
35
  condition: "open issues without label:verify-done exist OR open release-monitor issues with label:codex-release or label:oh-my-codex-release exist"
22
36
  - name: triage
23
37
  skill: professor-triage
24
38
  description: Analyze verify-done and release-monitor issues against current codebase and perform automated triage
25
39
 
26
- - name: plan
40
+ - name: scope-selection
27
41
  depends_on: issue-analysis
42
+ prompt: |
43
+ Select one bounded release scope and protect against stale milestone reuse.
44
+
45
+ Milestone pre-check:
46
+ - Query all milestones, open and closed, before creating vX.Y.Z.
47
+ - If the target milestone already exists and is closed, halt and require a version bump or manual reopen.
48
+ - If it exists and is open, reuse it.
49
+ - If it does not exist, create it and assign scoped issues.
50
+
51
+ Label semantics:
52
+ - Reference `.codex/skills/pipeline/labels.md`.
53
+ - Exclude blocked_by_decision, decision-needed, needs-review, verify-done, manual-action, and in-progress issues.
54
+ - Prefer verify-ready, codex-release, oh-my-codex-release, claude-code-release, and documentation issues.
55
+ - Sort by P1, P2, P3, then dependency order; cap a release unit at 7 issues.
56
+
57
+ Output a release manifest with issue number, title, prerequisite, effort, and labels.
58
+ description: Milestone state pre-check, label filter, and bounded release scope selection
59
+
60
+ - name: compression-mode-eval
61
+ depends_on: scope-selection
62
+ prompt: |
63
+ Evaluate docs-only compression mode.
64
+
65
+ Use `compression_mode=docs-only` only when:
66
+ - scope size is 3 or fewer issues
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
+
69
+ In docs-only mode, replace heavyweight triage/plan/deep-plan/deep-verify spawns with direct summaries plus local self-review. Otherwise use standard mode.
70
+ Output the selected compression_mode for downstream steps.
71
+ description: Evaluate docs-only compression eligibility
72
+
73
+ - name: plan
74
+ depends_on: compression-mode-eval
28
75
  skill: release-plan
29
- description: Group triaged issues into release units by priority and size
76
+ description: Group triaged issues into release units by priority and size; skipped if compression_mode=docs-only
30
77
  input: triage-results
31
78
 
32
79
  - name: deep-plan
80
+ depends_on: plan
33
81
  skill: deep-plan
34
- description: Create detailed implementation plan for each release group
82
+ description: Create detailed implementation plan for each release group; skipped if compression_mode=docs-only
35
83
  foreach: release-group
36
84
 
37
85
  - name: implement
86
+ depends_on: deep-plan
38
87
  prompt: |
39
88
  Execute implementation plan with appropriate agents.
40
89
 
@@ -46,14 +95,40 @@ steps:
46
95
  description: Execute implementation plan with appropriate agents
47
96
  foreach: planned-issue
48
97
 
98
+ - name: verify-build
99
+ depends_on: implement
100
+ prompt: |
101
+ Project-specific build + test verification.
102
+
103
+ For Node/Bun projects:
104
+ 1. Run `bun install` and halt on lockfile drift.
105
+ 2. Run `bun run lint` when available.
106
+ 3. Run `bun run typecheck` when available.
107
+ 4. Run `bun test` mandatorily; do not silently skip tests.
108
+ 5. Adopt the prior version's test result as the dynamic baseline. Current Codex baseline is 0 failures after #1328 verification.
109
+ 6. Halt if current failures exceed baseline; otherwise report pass/fail counts and delta.
110
+ 7. Run `bun run build` when available.
111
+
112
+ Halt on lint errors, typecheck errors, new test failures, build failure, or lockfile drift.
113
+ description: Auto-detected build + test verification with mandatory bun test baseline delta guard
114
+
49
115
  - name: verify
116
+ depends_on: verify-build
50
117
  skill: deep-verify
51
- description: Multi-angle release quality verification
118
+ description: Multi-angle release quality verification; self-review checklist only if compression_mode=docs-only
52
119
 
53
120
  - name: release
121
+ depends_on: verify
54
122
  prompt: |
55
123
  Create release branch and pull request.
56
124
 
125
+ Required version preflight for npm package releases:
126
+ - Determine NEW_VERSION before creating a release branch, PR, or tag.
127
+ - Update `package.json` and `templates/manifest.json` to NEW_VERSION in the same commit.
128
+ - Use same-directory temporary files for generated JSON writes; do not write through `/tmp`.
129
+ - Run `bash .github/scripts/verify-version-sync.sh` after the bump and before tag or PR creation.
130
+ - Commit the bump with `chore(release): bump to v{NEW_VERSION}` before any release tag is created.
131
+
57
132
  Before creating `release/v*`, check whether a local branch named exactly
58
133
  `release` exists. Git stores refs as files/directories, so
59
134
  `refs/heads/release` blocks `refs/heads/release/vX.Y.Z`.