Skip to content

Landing train 2026-10-10 (verify): #241-#249 - #250

Merged
Knucklessg1 merged 115 commits into
mainfrom
land/train-1010g
Oct 10, 2026
Merged

Knucklessg1 merged 115 commits into
mainfrom
land/train-1010g

Conversation

@Knucklessg1

Copy link
Copy Markdown
Member

Stacked on #240. Adds the nine verification PRs #241-#249 (test bindings for delivered rows). Locally clean: mypy, pytest on changed files, ruff, complexity and KISS censuses, vulture, spec-status, spec-decomposition, spec-trailers.

🤖 Generated with Claude Code

Knucklessg1 and others added 30 commits October 10, 2026 15:20
… resolver

_probe_protocol_families called _harvest_resource_bodies directly twice; both now
go through _resolve_via_local_catalog_or_harvest so admitted children resolve from
the resident catalog with no wire read.

Spec: GRAPHOS-FLEET-R006.3.1

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Only ingest sync has a real registry operation; every other analyze/ingest
legacy action is a gap, so each row is split into add-operation children
plus an approve-mappings child.

Spec: none (refactor)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
… ports

build_identity_ports builds the concrete runtime once and returns it typed as
CredentialAuthority/SessionAuthority; fails closed with IdentityUnavailable.

Spec: GRAPHOS-OPS-R032.2.1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Add expires_at and effective_scopes(): intersect with owner scopes at use time, deny revoked/expired keys, never yield approver scopes.

Spec: GRAPHOS-IDENTITY-R008.2
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Injection needs run_web_ui and mcp_server.composition startup wiring that cannot be tested in isolation; split into compose_web_application (.1) and run_web_ui/supervisor threading (.2).

Spec: none (refactor)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Adds the approved mapping and a bound test that the operation id exists in the ingest registry.

Spec: GRAPHOS-HOST-R005.2.3.1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ring (.2)

The R022/PA-12 publish step is not built in graph-os, so there is no entry point to wire. R003 becomes a rollup with two bite-sized children.

Spec: none (refactor)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
admit_tool_subset already refuses closed; add a negative test across
varied graph refs and budgets proving no trimmed admission is returned.

Spec: GRAPHOS-A2A-002-R005
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Split R020.3.1 into .1 (ingest.packs.list) and .2 (ingest.jobs.status) and
deliver .1 through the typed ingest runner port with the ingest:read scope.

Spec: GRAPHOS-OPS-R020.3.1.1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Typed IngestJobRecord and runner port method get_job_status; read op under ingest:read, fails closed with UNAVAILABLE when no runner is composed.

Spec: GRAPHOS-OPS-R020.3.1.2
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Adds PublicationRefusedError and require_reconciled_for_swap(), which raises
the typed refusal for any reingestion-unreconciled gate result.

Spec: GRAPHOS-MCP-RESOURCES-R003.1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
ingest.operations() gained ingest.packs.list; both functions are still the
per-domain declarative OpSpec registries the entry describes.

Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…server

No production identity runtime exists (build_identity_ports has only test
callers), so the supervisor start call cannot supply real ports yet. Split
.2.3.2 into .2.3.2.1 (run_web_ui accepts/binds ports, lands with .2.3.1) and
.2.3.2.2 (supply from mcp_server composition, depends on R032.2.2).

Spec: none (refactor)
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…o children

Split R010.2 into .2.1-.2.4 and deliver .2.1: map_groups_to_roles with DN
normalization, refusing when no group maps to a role.

Spec: GRAPHOS-IDENTITY-R010.2.1
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Split R009.2 into children .2.1-.2.4; deliver pure select_mapping_rule.

Spec: GRAPHOS-IDENTITY-R009.2.1
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ser model

R011.2 becomes a rollup of .2.1-.2.4; .2.1 delivers ScimUser with validation/refusal tests.

Spec: GRAPHOS-IDENTITY-R011.2.1

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Knucklessg1 and others added 28 commits October 10, 2026 16:52
… spec markers; name the retrieval budget

Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ng train

Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…ation under the complexity cap

Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
1c50860 removed the op and its tests because the engine has not registered
loops:read; this records that withdrawal in the form the spec tooling reads.

This reverts commit 364ef8b.

Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-FLEET-R001, GRAPHOS-FLEET-R002.1

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-OPS-R004, GRAPHOS-OPS-R005

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-DEPLOY-R002, GRAPHOS-DEPLOY-R003, GRAPHOS-DEPLOY-R004

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-HOST-R003

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…job_status pair

Same shape and rationale as the already-reviewed handle_memory_read /
get_source_status pair: independent read handlers on separate ports.

Spec: none (refactor)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-HOST-R010

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-IDENTITY-R002, GRAPHOS-IDENTITY-R004.1

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-DEPLOY-R005, GRAPHOS-DEPLOY-R006, GRAPHOS-DEPLOY-R007.1, GRAPHOS-DEPLOY-R007.2

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: GRAPHOS-OPS-R006, GRAPHOS-OPS-R007, GRAPHOS-OPS-R008, GRAPHOS-OPS-R009

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Spec: GRAPHOS-FLEET-R004, GRAPHOS-FLEET-R005.1, GRAPHOS-FLEET-R008.1

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Environment sync alone ran past the 20-minute cap on the shared self-hosted
runners and the job was cancelled before any test ran.

Spec: none (ci)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Spec: none (refactor)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…enerate status

Spec: none (refactor)
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@Knucklessg1
Knucklessg1 enabled auto-merge October 10, 2026 22:26
@Knucklessg1
Knucklessg1 merged commit e8df9e9 into main Oct 10, 2026
5 checks passed
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