Skip to content

docs: add Headout AI agent config [skip ci]#3

Open
aagam-headout wants to merge 1 commit into
mainfrom
add-agent-config-2026-06-16-16-54
Open

docs: add Headout AI agent config [skip ci]#3
aagam-headout wants to merge 1 commit into
mainfrom
add-agent-config-2026-06-16-16-54

Conversation

@aagam-headout

Copy link
Copy Markdown
Member

What

Adds the Headout AI agent configuration for claude, cursor, codex, opencode, synced from headout/HeadoutAgentsConfig (1a20e33).

Scope

  • Config-only: .claude/, .cursor/, .codex/, .opencode/, .gitignore, agent manifest + telemetry git hooks.
  • Bundle: common, backend
  • No application/source code changed.
  • [skip ci] in commit — no build required.

Review

Safe to approve — additive/standardized config only. Telemetry hooks no-op when node is absent.

Adds claude, cursor, codex & opencode agent configs synced from
headout/HeadoutAgentsConfig. Config-only change (skills, rules, hooks, telemetry).
No application code touched.
@aagam-headout aagam-headout changed the title chore: add Headout AI agent config [skip ci] docs: add Headout AI agent config [skip ci] Jun 16, 2026

@vulcanho vulcanho Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📋 Summary

Config-only PR adding Headout AI agent infrastructure for Claude, Cursor, Codex, and opencode. 218 files added, zero application source changed. Two issues found: all telemetry defaults to the staging Omniscient endpoint (omniscient.test-headout.com), and the Cursor subagentStop hook is missing the HOOK_EVENT=SubagentStop env var that its sibling subagentStart hook correctly sets — leaving SubagentStop classification dependent on a fragile payload-shape fallback.

🔀 Architecture

flowchart LR
    subgraph "AI Agent (Claude/Cursor/Codex/opencode)"
        A[Tool Use / Bash / Edit]
    end
    subgraph "Hook Dispatch (.claude/hooks/hac-dispatch-ho.sh)"
        D{node present?}
        D -- No --> F[emit fallback JSON]
        D -- Yes --> G[node handler.mjs]
    end
    subgraph "Handler (.mjs dist)"
        G --> H[Write to .git/hac_telemetry/events.jsonl]
        H --> I[spawn detached curl]
    end
    I -->|async, fire-and-forget| J[(omniscient.test-headout.com)]
    subgraph "Git Hooks (installed by bootstrap-telemetry-ho.sh)"
        K[post-commit / post-checkout / post-merge / post-rewrite] --> D
    end
    A --> D
Loading

} catch {
}
}
var OMNISCIENT_URL = (process.env.HAC_OMNISCIENT_URL ?? "").trim() || "https://omniscient.test-headout.com/api/v1/events";

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All telemetry defaults to staging endpoint omniscient.test-headout.com — confirm this is intentional for this repo

Every telemetry event from this repo will be sent to https://omniscient.test-headout.com/api/v1/events by default. If test-headout.com is the staging domain (as the test- prefix implies), developer activity on this repo will populate staging analytics rather than the production dashboard. The env var HAC_OMNISCIENT_URL can override this, but it must be configured explicitly on every developer machine and in every CI runner.

If the staging endpoint is intentional (e.g., this repo is a pilot or the staging endpoint is actually production-grade), document that in the bootstrap README so future maintainers don't change it. If production is the correct target, update the default URL in all 14 dist files (or rebuild from source with the correct HAC_OMNISCIENT_URL default).

Prompt for agents
In `.claude/hooks/dist/telemetry-core-ho.mjs` line 79, and in all 13 other dist files that share the same line, the default telemetry endpoint is `https://omniscient.test-headout.com/api/v1/events`. Confirm with the infrastructure team whether `omniscient.test-headout.com` is the correct production endpoint for this repo, or whether it should be `omniscient.headout.com` (or another production URL). If the production URL is different, do a global find-and-replace across all `.claude/hooks/dist/*.mjs` files to update the default, or rebuild the dist bundle from the source TypeScript with the correct `HAC_OMNISCIENT_URL` baked in.

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