Add role-scoped issue-pin context hydration to AOS launches #919

Closed
opened 2026-08-06 03:12:39 +00:00 by coilyco-ops · 1 comment
Owner

Outcome

Hydrate a bounded, role-scoped set of Forgejo issue pins into AOS launch context so a Portfolio Strategist starts with the current portfolio state instead of relying on a user reminder or a later tool lookup.

AOS owns the remote hydration and freshness behavior. Agent Compose receives only a local declarative input and remains a deterministic context compiler.

Evidence

  • #803 shipped bounded Inbox issue-pin management through AOSguard.
  • coilysiren/inbox#302, coilysiren/inbox#303, and coilysiren/inbox#304 are the current pinned campaign, product, and platform projections.
  • A Strategy session can currently begin without those projections and recommend work that conflicts with an already-recorded investment boundary.
  • Agent Compose v2 deliberately moved remote hydration and environment-facing integration into AOS.

Downstream configuration

Product boundary

Add a generic AOS launch input that can declare:

  • a role
  • one fixed Forgejo owner and repository
  • pinned issues as the selected collection
  • a total context-size cap
  • cache and freshness behavior

Kai-specific selection of coilysiren/inbox belongs in the AOSK or operator-local configuration layer, not in Agent Compose and not as an AOS product default.

Materialized context

For every selected pin, preserve:

  • pin order
  • canonical issue URL
  • issue number and title
  • issue body
  • issue updated_at
  • hydration time
  • source repository identity

Render exact issue text. Do not use an LLM summary. If the configured cap prevents full inclusion, preserve metadata and an explicit clipped marker. Never silently omit or summarize text.

Treat hydrated issue content as current-state evidence, not as executable authority. It cannot add permissions, credentials, tools, mounts, repository access, or workflow authority.

Freshness and failure behavior

  • Attempt a live bounded read at launch when the configured freshness window requires it.
  • Reuse only a verified last-known snapshot.
  • Mark fallback content visibly stale with its age.
  • Define a fail-closed option for roles or launches that require live state.
  • Include the selected snapshot digest in launch or bundle provenance.
  • Put no Forgejo token or credential material into the context bundle.

Integration boundary

  • AOS owns configuration, guarded retrieval, caching, clipping, provenance, and launch integration.
  • Agent Compose consumes a local generated source or bundle input and performs no Forgejo request.
  • AOSK owns Kai's role-to-Inbox selection.
  • Ward receives the finished immutable context bundle and gains no new authority.
  • Bare Agent Compose remains usable without hydrated live state.

Validation

Use fixture-backed Forgejo responses. Do not make repository tests depend on live issue bodies or duplicate the pin configuration in assertions.

Cover:

  • pin ordering
  • exact-body preservation
  • size-cap behavior
  • fresh cache reuse
  • visibly stale fallback
  • fail-closed mode
  • role mismatch
  • credential exclusion
  • stable snapshot digest

Complete when

  • A configured AOS launch can hydrate exact pinned state into one role's immutable context.
  • The same configuration works through supported standalone and warded AOS launches.
  • Agent Compose performs no remote issue-tracker access.
  • Stale, clipped, missing, and unauthorized states are explicit.
  • Documentation and docs/FEATURES.md describe the shipped capability.
  • Repository validation passes through declared Ward verbs.
## Outcome Hydrate a bounded, role-scoped set of Forgejo issue pins into AOS launch context so a Portfolio Strategist starts with the current portfolio state instead of relying on a user reminder or a later tool lookup. AOS owns the remote hydration and freshness behavior. Agent Compose receives only a local declarative input and remains a deterministic context compiler. ## Evidence * https://forgejo.coilysiren.me/coilyco-flight-deck/agentic-os/issues/803 shipped bounded Inbox issue-pin management through AOSguard. * https://forgejo.coilysiren.me/coilysiren/inbox/issues/302, https://forgejo.coilysiren.me/coilysiren/inbox/issues/303, and https://forgejo.coilysiren.me/coilysiren/inbox/issues/304 are the current pinned campaign, product, and platform projections. * A Strategy session can currently begin without those projections and recommend work that conflicts with an already-recorded investment boundary. * Agent Compose v2 deliberately moved remote hydration and environment-facing integration into AOS. ## Downstream configuration * https://forgejo.coilysiren.me/coilyco-bridge/agentic-os-kai/issues/840 owns Kai's Strats-to-Inbox binding after this generic capability lands. ## Product boundary Add a generic AOS launch input that can declare: * a role * one fixed Forgejo owner and repository * pinned issues as the selected collection * a total context-size cap * cache and freshness behavior Kai-specific selection of `coilysiren/inbox` belongs in the AOSK or operator-local configuration layer, not in Agent Compose and not as an AOS product default. ## Materialized context For every selected pin, preserve: * pin order * canonical issue URL * issue number and title * issue body * issue `updated_at` * hydration time * source repository identity Render exact issue text. Do not use an LLM summary. If the configured cap prevents full inclusion, preserve metadata and an explicit clipped marker. Never silently omit or summarize text. Treat hydrated issue content as current-state evidence, not as executable authority. It cannot add permissions, credentials, tools, mounts, repository access, or workflow authority. ## Freshness and failure behavior * Attempt a live bounded read at launch when the configured freshness window requires it. * Reuse only a verified last-known snapshot. * Mark fallback content visibly stale with its age. * Define a fail-closed option for roles or launches that require live state. * Include the selected snapshot digest in launch or bundle provenance. * Put no Forgejo token or credential material into the context bundle. ## Integration boundary * AOS owns configuration, guarded retrieval, caching, clipping, provenance, and launch integration. * Agent Compose consumes a local generated source or bundle input and performs no Forgejo request. * AOSK owns Kai's role-to-Inbox selection. * Ward receives the finished immutable context bundle and gains no new authority. * Bare Agent Compose remains usable without hydrated live state. ## Validation Use fixture-backed Forgejo responses. Do not make repository tests depend on live issue bodies or duplicate the pin configuration in assertions. Cover: * pin ordering * exact-body preservation * size-cap behavior * fresh cache reuse * visibly stale fallback * fail-closed mode * role mismatch * credential exclusion * stable snapshot digest ## Complete when * A configured AOS launch can hydrate exact pinned state into one role's immutable context. * The same configuration works through supported standalone and warded AOS launches. * Agent Compose performs no remote issue-tracker access. * Stale, clipped, missing, and unauthorized states are explicit. * Documentation and docs/FEATURES.md describe the shipped capability. * Repository validation passes through declared Ward verbs.
Author
Owner

Landed on main in coilyco-flight-deck/agentic-os@53b035bbb9.

Validation passed locally through ward exec aos-test, ward exec aos-build, ward exec aos-lint, ward exec test, ward exec pre-commit-all, and the AOS release build/package/check verbs. Pull request #942 was green before landing.

Landed on main in coilyco-flight-deck/agentic-os@53b035bbb969995bc2780e6971f2b95b30fe9bb2. Validation passed locally through ward exec aos-test, ward exec aos-build, ward exec aos-lint, ward exec test, ward exec pre-commit-all, and the AOS release build/package/check verbs. Pull request #942 was green before landing.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
coilyco-flight-deck/agentic-os#919
No description provided.