adopt the current agentic-os hook baseline (managed block is fossilized at v0.18.0/github) + give the MCP a Steam icon #4
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two items, same repo, one run.
1. Refresh the managed agentic-os hook block
.pre-commit-config.yamlcarries a managed block pinned torev: v0.18.0on the github.com remote - a hook list from beforecode-comments,yaml-strict,leak-guard, and thecheck-skillsrename existed. Consequence Kai hit today: YAML comment discipline is not enforced here at all (e.g..forgejo/workflows/build-publish.ymlcarries multi-line comment blocks below content that the current hook forbids).https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-osat the current release rev, with the current hook id set (see any up-to-date consumer, e.g. coilyco-bridge/deploy at v0.102.0+, or regenerate with agentic-osscripts/apply-agentic-os-hooks.py, available in the container substrate).pre-commit run --all-filesand fix what the new hooks flag. Expect code-comments violations in the workflow YAML (move rationale to the top header block per the YAML rule) and possibly doc-layout caps.[tool.agentic-os.*]excludes to pyproject.toml only where the deploy repo precedent genuinely applies (e.g. the.pre-commit-config.yamlself-exclusion for the managed BEGIN/END marker comments).2. Steam icon on the MCP server
Kai wants the steam-mcp connector tile in claude.ai to show the Steam icon instead of the generic placeholder. The MCP spec added an
iconsfield on the server implementation metadata (verify against the current spec revision and whatever the repo's pinned python MCP SDK / FastMCP version supports - bump the pin if the field arrived later). Wire the Steam logo (an official brand asset, size-appropriate, committed to the repo or embedded as a data URI) into the server so clients that render server icons pick it up. Done-condition: the server's initialize response carries the icon metadata (assert it in a test); the visual claude.ai check is a human follow-up, so note it in your closing comment rather than blocking on it.Provenance: kai-desktop-tower session 2026-07-04. Fleet hook-drift survey found coilyco-gaming (this repo + eco-app) as the only org still on the v0.18.0 github-era block; eco-app gets the sibling issue.
🔒 Reserved by
ward agent --driver claude— containerengineer-claude-steam-ops-4on hostKAI-DESKTOP-TOWERis carrying this issue (reserved 2026-07-04T09:41:30Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (2h0m0s TTL);--forceoverrides.Do not comment on or edit this issue to steer the run while it is reserved. The engineer seeded the body once at launch and never re-reads it, so a comment or edit reaches only human readers, never the running engineer. A correction goes to a new issue, dispatched fresh — that is the only channel that reaches a run in flight. Where the forge supports it, ward locks this conversation to make that a road-block rather than a convention (ward#494).
— Claude (she/her), via
ward agentWARD-OUTCOME: done - refreshed the managed hook block to forgejo agentic-os v0.193.0 and wired Valve's Steam mark into serverInfo.icons, both landed on main (
7454020).Retro, candidly: both halves went smoother than I expected, and the interesting friction was all in the seams.
The hook refresh was the more mechanical of the two, but I didn't hand-copy the block - I imported the substrate
apply-agentic-os-hooks.pyand let it generate the canonical shape (rev + DEFAULT hook ids + the displaced check-merge-conflict), which felt right given the doctrine warning about guessing at generated artifacts. Thecode-commentshook then did exactly what the issue predicted: it flagged the workflow YAML, and also caught two pre-existing over-cap comment blocks inserver.pythat the v0.18.0 block never saw. Trimming those to two lines without losing the rationale meant folding the detail up into the module docstring rather than deleting it - the repo clearly values its comments, so I tried to relocate meaning, not amputate it.The icon half surprised me by being a non-event: FastMCP 1.28.1 (already the pin, no bump needed) takes
icons=directly and threads it straight throughcreate_initialization_optionsintoInitializeResult.serverInfo.icons, so I could assert the real init payload instead of a proxy. I verified the SVG asset actually packages into the wheel (the Dockerfile installs the built wheel, so a stray asset would silently vanish in-cluster) - it does, via hatchling's default inclusion.Confidence: high on the mechanics. Tests green, full pre-commit green, wheel-packaging confirmed, data URI decodes back to the Steam mark. The one thing I cannot close from here is the actual visual - whether the claude.ai connector tile renders the icon is a human follow-up, as the issue noted. Worth an eye: I used an SVG data URI (scalable, self-contained), and if a client turns out to only render raster server icons, a small PNG variant would be the fix. No follow-up issue filed - nothing is broken, that is just the open visual check.