Skip to content

AUR-385: log actor -> profile handoff + identity coverage docs - #35

Merged
aurokin merged 1 commit into
mainfrom
aur-385-log-actor-to-profile-handoff
Jun 1, 2026
Merged

AUR-385: log actor -> profile handoff + identity coverage docs#35
aurokin merged 1 commit into
mainfrom
aur-385-log-actor-to-profile-handoff

Conversation

@aurokin

@aurokin aurokin commented Jun 1, 2026

Copy link
Copy Markdown
Owner

Summary

Wires the end-to-end log actor → profile cross-provider handoff and closes out the tight definition-of-done for AUR-385 (shared identity + cross-provider handoffs). Builds directly on slice 1 (Raider.IO class_spec_identity).

What changed

  • warcraft actor-profile <report-code> <actor-name> — cross-walks a Warcraft Logs report actor to a Raider.IO character profile:
    • Resolves the actor from warcraftlogs report-player-details (--fight-id to narrow, --allow-unlisted for unlisted reports).
    • Looks up the Raider.IO profile by region/realm/name (--region override when the log omits region).
    • Emits both class_spec_identity blocks with a soft agree/conflict reconciliation. The join is a soft region + realm + name match — explicitly not a canonical cross-provider actor id (per the contract's scope rules).
  • Honest failure contract — ambiguous actor names (same name on different realms, or multiple class/specs across fights → guidance to use --fight-id) and unresolved profiles (missing region/realm/name, or a Raider.IO error) return ok:false / exit 1, rather than a misleading success.
  • Pure, unit-tested helpers in warcraft_cli.crosswalk (actor lookup, ambiguity detection, reconciliation).
  • Encounter/ability emit-shape contract tests (normalized + unknown branches) — closing the acceptance-criterion Use shared user cache defaults #1 test gaps.
  • Docs — provider × identity coverage matrix and the demonstrated handoffs (guide → simc, log actor → profile) in docs/foundation/IDENTITY_CONTRACT.md.

AUR-385 definition-of-done status

This completes the tight DoD: contract + per-type tests, coverage-matrix doc, the already-shipping guide→simc handoff documented, and one additional honest handoff (log actor → profile) wired. Genuinely-gated work (Blizzard identity → AUR-455) and universal-equivalence work remain out of scope, as recorded in the issue.

Verification

  • make check green — 998 passed, 237 deselected; ruff / mypy / import-linter clean.
  • diffwarden --target uncommittedpatch is correct, no findings across codex-gpt54, codex-gpt55, grok, droid (three review rounds; every valid finding — ambiguity, tri-state reconciliation, missing-field accuracy, empty-region override, --allow-unlisted, single-row multi-spec, failure exit codes — fixed with tests).

Refs AUR-385

🤖 Generated with Claude Code

Wires the end-to-end "log actor -> profile" cross-provider handoff and closes out
the tight definition-of-done for the shared-identity epic.

- New `warcraft actor-profile <report-code> <actor-name>` cross-walks a Warcraft
  Logs report actor to a Raider.IO `character` profile: resolves the actor from
  `report-player-details` (`--fight-id`, `--allow-unlisted`), looks up the profile
  by region/realm/name (`--region` override), and emits both `class_spec_identity`
  blocks with a soft agree/conflict reconciliation. The join is a soft region +
  realm + name match, explicitly not a canonical cross-provider actor id.
- Honest failure contract: ambiguous actor names (same name on different realms, or
  multiple class/specs across fights) and unresolved profiles (missing region/realm/
  name, or a Raider.IO error) return ok:false / exit 1 with guidance, rather than a
  misleading success.
- Pure, unit-tested crosswalk helpers in `warcraft_cli.crosswalk`.
- Encounter/ability identity emit-shape contract tests (normalized + unknown).
- Documents the provider x identity coverage matrix and the demonstrated handoffs
  (guide -> simc, log actor -> profile) in docs/foundation/IDENTITY_CONTRACT.md.

make check green (998 passed, 237 deselected). diffwarden converged clean across
codex-gpt54, codex-gpt55, grok, droid (every valid finding fixed with a test).

Refs AUR-385

Co-Authored-By: OpenAI Codex <noreply@openai.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@linear

linear Bot commented Jun 1, 2026

Copy link
Copy Markdown

AUR-385

@aurokin
aurokin merged commit 65c5f47 into main Jun 1, 2026
2 checks passed
@aurokin
aurokin deleted the aur-385-log-actor-to-profile-handoff branch June 1, 2026 17:20
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