Development record
The ahoy install completion summary is written for abcd's implementers, not its personas: it leads with insider vocabulary ('managed repo', 'canonical marker blocks', 'the identity gate', 'plugin root not resolvable (machine-scope)') and raw internals (ABCD_PLUGIN_ROOT/CLAUDE_PLUGIN_ROOT, the history-index path) without saying what any of it means for the user's work. An Iris (product thinker) or Nia (facilitator) cannot tell what just changed, which items need action, or why they'd care. Like iss-163, core emits result data with no user-facing explanation layer; each reported item needs a plain-language 'what this is / why it matters / what, if anything, you should do' framing at every front door.
The ahoy install completion summary is written for abcd's implementers, not its personas: it leads with insider vocabulary ('managed repo', 'canonical marker blocks', 'the identity gate', 'plugin root not resolvable (machine-scope)') and raw internals (ABCD_PLUGIN_ROOT/CLAUDE_PLUGIN_ROOT, the history-index path) without saying what any of it means for the user's work. An Iris (product thinker) or Nia (facilitator) cannot tell what just changed, which items need action, or why they'd care. Like iss-163, core emits result data with no user-facing explanation layer; each reported item needs a plain-language 'what this is / why it matters / what, if anything, you should do' framing at every front door.
Grounds
- pursued: every item an install reports reaches the person with core's what/why/action framing and no raw environment names; shown wrong if a reported write, declined category, outstanding step or optional step has no summary item, which the install summary tests catch
Frontmatter
| id | iss-164 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | major |
.abcd/work/issues/resolved/iss-164-the-ahoy-install-completion-summary-is.md
open on GitHub ↗ · commit history ↗
References1
- iss-163The ahoy install config prompts are unexplainable to a first-time user: core's Prompter interface passes bare enum values only (Prompt(key, choices, def) — e.g. oracle_backend: host-delegated|native|cli|api|mcp) with no per-choice help text, no definition of what an 'oracle' is, and no consequence statement (cost, credentials, tools needed). A host agent rendering the prompt has to invent descriptions, which can be wrong or circular ('native — uses the native backend'). Canonical plain-language descriptions for every choice belong in core, surfaced by every front door.blocked by