Skip to content

feat(registry): resolve + load registry assets into tasks (#246) - #4

Draft
Kalindi-Dev wants to merge 1 commit into
feat/246-registry-catalogfrom
feat/246-registry-integration
Draft

feat(registry): resolve + load registry assets into tasks (#246)#4
Kalindi-Dev wants to merge 1 commit into
feat/246-registry-catalogfrom
feat/246-registry-integration

Conversation

@Kalindi-Dev

Copy link
Copy Markdown
Owner

Summary

Builds on the catalog PR to consume registry assets at task time.

  • Orchestrator resolve-step (resolveRegistryAssets): resolves a blueprint's registry:// mcp_server/cedar_policy_module/skill refs at task start, fail-closed; stamps {kind,id,version} triples on the TaskRecord, merges resolved cedar_text into cedar_policies, threads the runtime bundle into the agent payload.
  • Blueprint asset props + onUpdate fix: assets.{mcpServers,cedarPolicyModules,skills} with RegistryRefValidation; the three onUpdate helpers now write the asset-ref columns so redeploying an onboarded repo no longer drops them.
  • Agent loaders (registry.loader): mcp_server → .mcp.json; cedar_policy_module → PolicyEngine unannotated extra_policies; skill prompt fragments → system prompt.
  • TaskOrchestrator IAM: read-only bedrock-agentcore registry access.

Depends on #3. Base is feat/246-registry-catalog; retarget to main once #3 merges.

Test plan

  • mise run build green (2595 tests total)
  • Deploy with --context forkBlueprintRepo=owner/repo; submit a task that pins all three asset kinds
  • Confirm PR shows skill marker + MCP-sourced content + cedar rule loaded (repro of task 01KYJ5FT0RDZJ72J7R5BKCDM38)

…s#246)

Builds on the catalog PR to actually consume registry assets at task time:

- Orchestrator resolve-step (`resolveRegistryAssets`): resolves a blueprint's
  `registry://` mcp_server / cedar_policy_module / skill refs at task start,
  fail-closed; stamps the `{kind,id,version}` triples on the TaskRecord for
  audit, merges resolved cedar_text into `cedar_policies`, and threads the
  runtime bundle into the agent payload.
- Blueprint asset props + onUpdate fix: `assets.{mcpServers,cedarPolicyModules,
  skills}` with `RegistryRefValidation`; the three onUpdate helpers now write
  the asset-ref columns so redeploying an onboarded repo no longer drops them.
- Agent loaders (registry.loader): mcp_server merges into `.mcp.json`;
  cedar_policy_module flows through PolicyEngine's unannotated `extra_policies`;
  skill prompt fragments append to the system prompt (build_skill_prompt_fragment).
- TaskOrchestrator IAM: read-only bedrock-agentcore registry access so the
  orchestrator can resolve refs.

Depends on the catalog PR (feat/246-registry-catalog): imports the RegistryClient
port, ref grammar, and resolver from that branch.
Kalindi-Dev pushed a commit that referenced this pull request Aug 5, 2026
…amples#363) (aws-samples#364)

* docs(design): add CI build performance design doc (aws-samples#363)

Records how the build workflow's cost is distributed (//cdk:test was the
~91% long pole), why it was expensive (redundant type-check, fixed in aws-samples#357
/ PR aws-samples#359), and the remaining levers (shard, coverage-gate, runner size,
path-filter) with sequence and implementer notes — including the
merge-queue required-check constraints that shape #2 and aws-samples#5.

Companion to umbrella issue aws-samples#363; keeps the optimization roadmap as a
durable, reviewable design artifact.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(design): add sharding design for CDK suite (aws-samples#363)

Expands the CI build-performance doc with a full design for item #2
(shard the CDK suite): the jest --shard mechanism, a shards-vs-wall-time
table showing fixed overhead dominates past ~4 shards, the fan-out +
aggregate-gate pattern needed to keep `build` a single required context
on merge_group, cross-shard coverage merge before threshold enforcement,
and open questions (synth placement, deploy artifact, shard balance).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

* docs(design): correct CI build-performance figures + shard/priority analysis per review (aws-samples#363)

Remediates @theagenticguy's CHANGES_REQUESTED (7 inline comments) with measured
merge_group data from runs 30412723686 (Build 171s, //cdk:test 125.08s / 136 suites),
30409171662 (186s), 30400147506 (148s):

1. Ledger split so aws-samples#359 (type-check removal) and aws-samples#371 (Lambda-bundling disable) each
   get credit; restated current baseline (build ~148-186s, //cdk:test ~125s) with the
   run IDs it came from — not the stale ~346s/~298s post-#1 column.
2. 'Paid for twice' scoped: src/ went twice->once; test/ went once->zero (tsc only
   includes src/**); eslint tsconfig.dev.json backstops narrowly; noted deferred
   tsc --noEmit -p tsconfig.dev.json lever.
3. Idle-window claim corrected: synth ends +142s vs //cdk:test +171s -> ~29s idle, not
   ~200s; named //cdk:synth:quiet as the next binding constraint for sharding.
4. fixed_overhead restated as 120-220s measured from job start (not ~95s from install);
   added cache-miss finding (node_modules/venv/jest miss on every merge_group run) as
   new recommendation aws-samples#6.
5. Shard math recomputed with measured inputs -> 4-way lands at/above whole build; #2
   demoted to deferred (revisit trigger //cdk:test > ~250s); sequencing re-ranked to
   elevate cache hit-rate (aws-samples#6), runner size (#4), path filters (aws-samples#5) over sharding.
6. Aggregate-job if: fixed to GitHub's documented pattern (job if: always(), gate moved
   into a step keying on failure||cancelled); explained why bare contains() never runs.
7. Check-run names corrected to build (agentcore) (build.yml compute_type matrix +
   ruleset 14980587, confirmed PR aws-samples#672); shard dim yields build (agentcore, N); flagged
   as a REQUIRED-CONTEXT change, not workflow-only.

Rebased onto latest origin/main; regenerated Starlight mirror via docs:sync.

Relates to aws-samples#363

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

* docs(design): correct cache/disk-overhead analysis + add nav entries per re-review (aws-samples#363)

Re-review round 2 (theagenticguy) surfaced 3 new inline findings plus a
dropped nav finding. Corrections, cross-checked against per-step job timings:

- Cache hits do not save time. Comparing a miss merge_group run
  (30412723686) vs a hitting pull_request run (30419878840) with the
  identical yarn.lock hash: Cache * restore 1s->9s, yarn 48.35s->55.09s,
  Install dependencies 56s->60s. The hit path is net SLOWER because
  mise.toml [tasks.install] runs yarn install --check-files, which
  re-verifies every restored file; uv sync installs 127 pkgs in 121ms so
  a venv cache cannot pay for itself. Rec aws-samples#6 reframed as a --check-files
  investigation and demoted in sequencing; no more cache-win claims.
- Free Disk Space is the dominant addressable overhead, not cache misses.
  Per-step timings (gh api .../jobs/<id> .steps[]): run 30412723686 (job
  90452344735) 148s/220s = 67%; run 30419878840 (job 90474296240)
  97s/179s = 54%; run 30418865914 (job 90471207016) 75s/158s = 47%.
  Added as new ledger item aws-samples#7 ahead of aws-samples#6; feeds the shard math.
- fixed_overhead breakdown named inline: of 120-220s, Free Disk Space is
  75-148s and install is a cache-independent ~56-60s. ~250s shard trigger
  is now conditional on overhead staying 120-220s.
- Nav fix: astro.config.mjs Architecture sidebar is an explicit list, so
  added slug entries architecture/ci-build-performance and
  architecture/bedrock-cost-attribution (both were missing from nav).

Relates to aws-samples#363

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: bgagent <345885+scottschreckengaust@users.noreply.github.com>
Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
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