slim: remove everything that is not natively Ashlar's responsibility - #446
Merged
Conversation
UnityDevCommand ships 9 subcommands (init/generate/iterate/list/assets/ qa/fullstack/pin/compose) and a full test suite, but was never added to the root tree in Program.CommandRegistration.cs, so `ashlar unity-dev` (and the `unity-dev generate` hint it prints) were unreachable from the CLI. This is the same "built but never registered" failure as `trust` in #162; RootCommandRegistrationTests did not cover unity-dev, so nothing caught it. Register the command with the same SelfExtendRunnerAdapter factory as SelfExtendCommand, and add RootCommand_RegistersUnityDevCommand asserting the verb and all 9 subcommands stay registered so it cannot silently drop again. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
A six-area audit classified every piece of the tree against the runtime's native responsibilities (kernel + trust surfaces; runtime/SDK/hosting; CLI/API/MCP/transport surfaces; federation + the commercial fleet-governance tier; distribution for the above). Everything else was a vertical riding along, and it leaves — preserved intact on archive/verticals-2026-08-31 for extraction to its own repositories. Removed (712 files, -44k lines): - the applications/ product layer: physical-atom certification, provenance graph (as a product; kernel provenance primitives stay), six spatial/AR projects, their tests, samples, demo tool, compose file, gate workflow, coverage-ratchet script, and docs (8 physical-atom phase docs, spatial doc) - the game vertical: nine commercial GameDirector/GameDomain projects, ForgeMapHostSample, apps/game-director, apps/ashlar-forge, game data (balance/maps), game compose + Dockerfile, engine-bridge/forge/aesthetic/ portal docs, smoke scripts, _handoff/game-layer (48 non-compiling files) - the Unity dev vertical inside the CLI: `ashlar unity-dev`, nine handlers, twelve constraint records, ~1,300 lines of tests, its registration, global using, guard test, and the unity rows in the multi-platform test matrix - orphans and residue: src/Ashlar.API stub, ValidationUtilities (zero consumers), tag-scan sample objective (subject was the removed product), extract-game-layer.sh (its target left), docs/planning, docs/cleanup, docs/bricks/unknown.md, stale RESUME-PROMPT Kept deliberately: Fleet.*/MeshDirector (Ashlar's own commercial scale tier — native), apps/release-manager + apps/runtime-studio (scheduled extractions; the open setup lane still seeds from them), cloud ingress adapters + SMS middleware + terraform (generic ingress seam), Bricks.Owasp/SqlProfile (authoring exemplars), business/GTM docs, readiness archives. Coupled edits: Ashlar.sln (-19 projects), PrimeTime.slnf, Makefile, ci/test-ownership.tsv, dependency-boundary/security-gate path filters, readiness-gate-local applications layer, tier-d GameDomain block, LICENSING.md (Tier 3 now empty in-repo; grant scope shrinks to commercial/; not a licensing event - covenant 2 untouched), ProjectTiers, OpenCoreBoundary (+ tracked follow-up for game/spatial vocabulary still compiled into core), DocsIndex, README, certification-evidence. Severed a stale GameDirector.Mcp reference in Fleet.Host in passing. Validation: cert-gate 391/391; dependency-boundary PASS; full Ashlar.sln builds 0 errors; Fleet.Host + FirstFlight build; Tests.BackgroundAgents 526/526; Tests.CLI 188/189 where the single failure (UnitTestBridge/BackgroundAgentCommandTests) reproduces identically on untouched master in the same container - pre-existing environmental flake. [coordinated-integration] Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Uh oh!
There was an error while loading. Please reload this page.
IanFrelinger added a commit
that referenced
this pull request
Sep 1, 2026
Post-merge cleanup for #446, all mechanical: - application-gate-tier-d.sh: remove the orphaned fragment my GameDomain-block excision left behind (bash -n now passes across all scripts) - README: drop the stale apps/ashlar-forge row (lychee dead link) and the PrimeTime row's GameDomain mention (uat tier-8 doc-paths-exist) - CONTRIBUTING: PrimeTime filter is seven open assemblies now - docs/handoff/HANDOFF.md: the extract-game-layer invocations are annotated as archived (uat tier-8 doc-scripts-exist greps invocation forms; the script left with _handoff/game-layer) uat tier8 re-run locally: 4/4 PASS. No production wiring changed in the slim or here - removal-only. [skip-prod-style] removal-only change set: no production-wiring behavior changed; cert-gate 391/391 and full-solution build already prove the tree. [coordinated-integration] Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
IanFrelinger added a commit
that referenced
this pull request
Sep 1, 2026
…#448) A 7-area doc-vs-source audit (420 evidence lookups) before the first nuget.org release. ~45 verified findings fixed; the notable ones: BROKEN follow-alongs: TesterQuickstart/GettingStarted cloned Nexo.git then `cd Ashlar` (fails); README showed `pkg share <id>` where the CLI requires `pkg share --id <id>`; samples/README's cp command pointed at the removed tag-scan objective; the Swagger promise 404s outside Development (now says how to enable it). WRONG facts: GHCR images are nexo-cli/nexo-api, not ashlar-cli/ashlar-api (7 docs); the client header is X-Ashlar-Api-Key, not X-Api-Key (sdk.md + a stale code comment); SECURITY.md claimed no tagged release exists (v0.1.0 does); DistributionModels' publication status ignored the artifact-only v0.1.0 run; PUBLISHING understated the CI-packed set (Client/Sdk/Authoring are unconditional); SELF-EXTEND-AUDIT invariant B rewritten to the origin-keyed semantics the validator actually has (Authored roots skip; machine-origin REQUIRES ParentId); SelfHostedAgentServer pulled the wrong model (shipped agent set uses qwen2.5:7b); /ready exists (versioning.md denied it); api/index gained the ~12 live routes it was missing; kernel-coverage runs -f net10.0 not net9.0; GET /api/knowledge/query IS wrapped (QueryKnowledgeAsync). POST-SLIM residue: LICENSING's ValidationUtilities row, ProjectTiers' ForgeMapHostSample row + PrimeTime-spans-commercial claim (LICENSING echoed it), README's project counts (62 not 78; 3 commercial not 9) and layout-tree comments, CommercialExtractionPlan status, FleetGovernanceInventory's discover/advertise verbs (the command is `lan`) and resolved test rows, OpenCoreBoundary's boundary summary (85 scanned, 8 commercial), the dead APPLICATION_GATE_GAMEDOMAIN flag, CiGateInventory/workflows-README counts (56 files, five schedules, 17 dispatch-only; uat-gate and portability-gate added — uat-gate runs unfiltered on every PR and was documented nowhere), mesh-lab-gate marked dormant, MiddlewareIngress catalog list, DEPLOYMENT's nexo-api service name (compose service is ashlar-api), and the enumeration sentence #446's line-delete mangled in the autonomy-objectives README. Two audit claims were REFUTED before fixing: the runtime-studio anchor "#how-runtime-studio-fits-with-ashlar-api" is alive (explicit <a id> at README line 11 — two auditors missed it), so those links stand. Validation: uat tier8 4/4 PASS locally; Ashlar.Client builds; the only code change is one XML doc comment. [skip-prod-style] docs-only plus one XML comment; no production wiring changed. [coordinated-integration] Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Executes the owner's directive: audit all the pieces, keep what natively belongs to Ashlar's responsibilities, remove what doesn't.
How it was decided
A 6-agent parallel audit (src / application+consumer-template / products / commercial+deploy / CI+scripts+solutions / docs+handoff) classified every piece with dependency evidence and removal-impact notes. Full manifest in the commit message.
What leaves (712 files, −44k lines) — all preserved on
archive/verticals-2026-08-31applications/product layer — physical-atom certification, provenance graph (the Neo4j product; kernel provenance primitives stay), six spatial/AR projects + tests/samples/tools/gates/docscommercial/GameDirector/GameDomain projects, ForgeMapHostSample,apps/game-director,apps/ashlar-forge, game data, compose files, engine-bridge/forge docs,_handoff/game-layerashlar unity-dev+ handlers + constraint records + tests + registrationsrc/Ashlar.APIstub,ValidationUtilities, stale session docsWhat stays, on purpose
Fleet.*/MeshDirector (Ashlar's own commercial scale tier is native, not a vertical) ·
apps/release-manager+apps/runtime-studio(scheduled extractions as the portfolio's repos #1–2; the open setup lane seeds from them) · ingress adapters/SMS/terraform (generic cloud-ingress seam) · sample bricks · business docs · readiness archives.Tracked, not removed (new follow-up in
OpenCoreBoundary.md): game/spatial vocabulary still compiled into core (Core.Application/Environments/**,ModelBackedMaterialIntelligenceService,QuestPdfWorkflowExporter,/api/directornaming) — directory-level slim now, in-project surgery with the vertical's extraction.Licensing note: Tier 3 is now empty in-repo and the evaluation-grant scope shrinks to
commercial/. Nothing open moved behind a paywall — covenant 2 untouched; the vertical's commercial status travels with it to the archive branch.Validation
cert-gate 391/391 · dependency-boundary PASS · full
Ashlar.sln0 errors · Fleet.Host + FirstFlight spike build · Tests.BackgroundAgents 526/526 · Tests.CLI 188/189, the single failure beingUnitTestBridge(BackgroundAgentCommandTests)which reproduces identically on untouched master in the same container — the documented environmental flake, not a regression.[coordinated-integration]
🤖 Generated with Claude Code