Skip to content

[FEATURE] Define OpenAPM hook semantics and replace pairwise hook translation #2111

Description

@danielmeppiel

Is your feature request related to a problem? Please describe.
APM hook integration accepts vendor-shaped inputs and uses target-specific branches without a neutral semantic model. PR #2097 and PR #2095 expose the maintenance and neutrality cost: Claude structural normalization and Kiro v1 rendering currently extend a raw-dictionary, vendor-pivot pipeline.

Describe the solution you'd like
Deliver the hooks proving slice from docs/superpowers/specs/2026-07-10-openapm-standards-first-translation-design.md within one release cycle:

  • Amend the next OpenAPM specification with a small portable hook subset.
  • Add immutable HookIR, named import adapters, capability validation, and a target-renderer Strategy registry.
  • Preserve the existing deny-wins executable trust gate before rendering.
  • Keep legacy inputs compatible with explicit loss/default reporting.
  • Rework PR fix(hooks): normalize flat entries for Claude #2097 as the first loss-accounted Claude render.
  • Rework PR fix(hooks): emit Kiro v1 hook documents #2095 as the first Kiro v1 render without a Claude pivot or _kiro_* side channels.
  • Split Kiro-native import into a separate follow-up.
  • Require hermetic E2E, mutation-break, conformance, final ship_now, and exact-SHA green CI evidence.

Describe alternatives you've considered
Adopt Claude hooks as APM's canonical schema, ship each vendor mapping independently, or stop translating hooks. These respectively violate neutrality, compound maintenance, or abandon portability.

Additional context
Related: #2062, #2071, PR #2097, PR #2095.

If the foundation misses the release-cycle window, the two live bugs may land as minimal named compatibility bridges and must move to HookIR in the following minor release.

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/distributionInstallers (curl/PowerShell/Brew/Scoop), self-update, devcontainer, codespaces.area/multi-targetMulti-target deploy spec, target directory creation, agent surface routing.priority/highShips in current or next milestonestatus/acceptedDirection approved, safe to start work.status/triagedInitial agentic triage complete; pending maintainer ratification (silence = approval).theme/portabilityOne manifest, every target. Multi-target deploy, marketplace, packaging, install.type/featureNew capability, new flag, new primitive.

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions