Skip to content

docs: tester quickstart + README front door under one story (D1) - #345

Merged
IanFrelinger merged 5 commits into
masterfrom
docs/tester-quickstart
Aug 17, 2026
Merged

docs: tester quickstart + README front door under one story (D1)#345
IanFrelinger merged 5 commits into
masterfrom
docs/tester-quickstart

Conversation

@IanFrelinger

Copy link
Copy Markdown
Owner

Production-readiness audit, M36 + M34 + M35 + M37 + M38 + M44 + L14 + L16 + L17. Ledger: https://claude.ai/code/artifact/15fa4198-97b8-4da6-bea0-0c24d364a7f3

HOLD FOR OWNER SIGN-OFF — encodes decision D1 (which story leads). Not auto-landed. The assumption is stated verbatim below; if it is wrong, say so and the README/DocsIndex/quickstart get redirected before merge.

D1 assumption (owner to confirm before merge)

ASSUMED, verbatim: the story that leads is "Nexo: auditable AI workflows on infrastructure you control - every artifact certified, every action on the record." The trust loop (certification gate: analyzer fence -> witness -> mutation -> determinism, plus the hold-mode autonomy loop) is HOW "auditable" is true, not a separate product. Hero demo = "submit a task -> output + audit trail visible" (docs/PayingCustomersASAP.md ~66, docs/CopilotMvpWalkthrough.md), with "hot-reload certified code" as the platform-team showcase. Retire "autopilot panel" / observe-adapt-improve as the LEAD (it can remain a section). Self-hosted only at launch (no Cloud SKU claims); README "not a hosted SaaS" stays true. Autonomy loop is presented as EXPERIMENTAL, hold-mode, with the ledger caveats. Consistent with: lead with control + proof, not "we have agents" (docs/MarketingAndDeploymentPlaybook.md); hero metric "time to first audited job"; anti-ICPs (docs/ICPResearchMemo.md); open-core boundary (docs/OpenCoreBoundary.md).

What this PR does

(a) docs/TesterQuickstart.md (new) - one lane, verified paths only: clone -> prerequisites (SDK 9, RollForward=Major so no 8.x runtime, Docker optional, mock provider needs NEXO_ALLOW_MOCK=1) -> dotnet build Nexo.Kernel.sln -> dotnet run --project application/src/Nexo.CLI -- doctor (with the docker info no-timeout trap named, application/src/Nexo.CLI/Commands/BootstrapRuntime.cs) -> the hero: NEXO_ALLOW_MOCK=1 dotnet run --project application/src/Nexo.API on http://localhost:5000 (exposure fail-closed rule quoted from Program.cs), POST /api/copilot/task with curl and Invoke-RestMethod, then /api/copilot/tasks/{id}, /api/copilot/tasks, /api/trust/dashboard, /api/activity/feed, /api/trust/status -> "see it certify": bash scripts/run-cert-gate.sh or the 16-test ~CertificationGateTeethTests slice, samples/hello-brick as the authoring path -> what to test / how to report (three issue templates, SECURITY.md) -> known limitations (ledger "Known v0 limitations", autonomy loop experimental/hold-mode, HTTP-only defaults, nothing on nuget.org).

(b) README.md - top rewritten under D1: one-sentence definition, three-item "what you get" each with the command behind it, "Start here" -> TesterQuickstart, lanes trimmed to one line (+ Integrate), Where-to-start table fixed (--no-restore no longer the first command; IntegratorGuide + consumer-template added), "Default workflow" + "autopilot panel" lead replaced by Trust loop / certification (experimental) (gate CI-proven / autonomy loop spike-grade + hold-mode, S5 equivalent-mutant caveat; links spec, ledger, governed-pipeline, sample objective, first-flight spike via spikes/README.md, hello-brick, SELF-EXTEND-AUDIT) and a rewritten "Why Nexo" with observe/adapt/improve as a subsection. What Nexo is not, Scope in 30 seconds, Subsystem map, Project layout untouched (the latter three are edited by in-flight docs/repo-map-refresh; unchanged lines separate the hunks, so no conflict).

(c) docs/DocsIndex.md - Start Here #1 TesterQuickstart, IntegratorGuide + consumer-template/CONSUMING.md added, RELEASE.md/setup-matrix/bootstrap helpers demoted to an "escape hatches" paragraph, new Trust loop / certification (experimental, hold-mode) group, ProtocolIntegration entry updated, roadmap block retitled "Planning history (historical as of 2026-08-16)", #14 vs GettingStarted #5 contradiction resolved on both sides.

(d) Stale docs - ProtocolIntegration-MCP-A2A.md status lines (API wiring landed #269/#270, all flagged off); docs/ci-pre-existing-failures.md date-stamped historical (FPR gate green with #317-#320/#335; kept because docs/planning/* cite it); GapAnalysis.md / NorthStarGapAnalysis.md retitled historical with banners naming their still-open rows and pointing at the ledger; DocsIndex roadmap. April GTM drafts not moved and not linked from Start Here.

(e)GettingStarted.md first-run pointer + installer-script wording + the dead "First Successful Pipeline Run" pointer; IntegratorGuide.md -> Nexo.Kernel.sln / CLI project / hello-brick, compatibility matrix; CHANGELOG.md[Unreleased] backfilled Keep-a-Changelog style from git log e6682152..master naming #325-#337, no version cut; SECURITY.md no longer cites a release that does not exist; spikes/README.md (new) - both spikes, every flight-runner flag, ledger rows that cite each, "not a supported entry point".

(f) Both onboarding-docs-guard bash steps run locally over the tree: startup-defaults greps pass; referenced-path guard reports 0 missing.

Skipped (with evidence)

  • CONTRIBUTING.md ~95-101 (minimal bar): origin/fix/setup-and-observability (PR 16) already rewrites exactly those lines to the CI-proven lanes; origin/docs/repo-map-refresh (PR 12) rewrites lines 4-14 and 39-50. Left untouched.
  • README "Which solution do I open?": exists only on unmerged docs/repo-map-refresh; nothing to keep yet, and this PR does not touch that region.
  • Business docs (April GTM drafts) not moved/deleted per L20.

Verification

  • dotnet build Nexo.Kernel.sln: 0 warnings, 0 errors on this host (SDK 9.0.317).
  • dotnet run --project application/src/Nexo.CLI -- --help: runs. -- doctor hung at the docker info probe on this host because the Docker daemon is not responding (the exact trap the page documents; probe has no timeout, BootstrapRuntime.cs Windows docker spec). Could not kill/rerun without Docker on PATH (sandbox denied); relying on CI onboarding gates for the PASS line.
  • NEXO_ALLOW_MOCK=1 dotnet run --project application/src/Nexo.API -> Now listening on: http://localhost:5000; /health 200; POST /api/copilot/task{"task":..,"auditCount":5} -> {"taskId":..,"tenantId":"default","success":true,"summary":"1 agent(s) executed","output":{..},"isTrustPaused":false,"recentAudit":[]}; /api/copilot/tasks/{id}, /api/copilot/tasks, /api/trust/dashboard (eventType=CopilotTask, disposition=Success, sourceId=<taskId>), /api/activity/feed, /api/trust/status all returned as documented; PowerShell Invoke-RestMethod variants run verbatim; portal / and /swagger/index.html 200.
  • Route + DTO quoted from code: group.MapPost("/copilot/task", RunCopilotTaskAsync) under app.MapGroup("/api") (NexoEndpoints.cs); public sealed record CopilotTaskRequest(string Task, int AuditCount = 25); (CopilotTaskRequest.cs); CopilotTaskResponse(TaskId, TenantId, Success, Summary, Output, IsTrustPaused, RecentAudit).
  • dotnet test src/Nexo.Tests.Infrastructure/Nexo.Tests.Infrastructure.csproj -f net8.0 --filter "FullyQualifiedName~CertificationGateTeethTests": Passed 16/16 in 1m15s.
  • Branch protection: gh api repos/IanFrelinger/Nexo/branches/master/protection -> required contexts ["cert-gate"].

Co-Authored-By: Claude Opus 5 noreply@anthropic.com

🤖 Generated with Claude Code

PlzTouchGrassand others added 4 commits August 16, 2026 23:34
… with control + proof
There was no single first-run page: README offered three lanes plus a native
escape hatch, GettingStarted a fourth ordering, DocsIndex sixteen "start here"
items with RELEASE.md at #3, and none of them reached the trust loop. The
first command in README (`dotnet build ... --no-restore`) fails on a fresh
clone with NETSDK1004. Four product stories coexisted (local-first AI
runtime / "autopilot panel", audited copilot + Cloud SKU, autonomous
capability extension, certified artifacts).
docs/TesterQuickstart.md is one lane with verified paths only: clone ->
`dotnet build Nexo.Kernel.sln` -> `nexo doctor` -> run Nexo.API on loopback
with the mock provider -> `POST /api/copilot/task` and read the record it
leaves in `/api/copilot/tasks/{id}` and `/api/trust/dashboard` (curl and
Invoke-RestMethod) -> `scripts/run-cert-gate.sh` or the 16-test gate-teeth
slice -> what to test and how to report -> known limitations. Every route,
DTO, default and file on the page was checked against the code and run.
README's top is rewritten under decision D1 (assumed, owner to confirm):
Nexo = auditable AI workflows on infrastructure you control; the trust loop
is how "auditable" is true, not a separate product; the autonomy loop is
experimental and hold-mode; self-hosted only. "Start here" points at the
quickstart, the lanes are trimmed, the "autopilot panel" lead is retired
(observe/adapt/improve stays as a subsection), a "Trust loop / certification
(experimental)" section links the spec, the evidence ledger, the governed
pipeline, the sample objective and the first-flight spike with the
hold-mode caveat, and the Where-to-start table no longer recommends
`--no-restore` as the first command. Regions touched by the in-flight
docs/repo-map-refresh branch (Scope in 30 seconds, Subsystem map, Project
layout) are left byte-identical.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…rograms historical; document spikes/
docs/DocsIndex.md: Start Here #1 is the tester quickstart, README #2,
GettingStarted #3; IntegratorGuide and consumer-template/CONSUMING.md are
listed for the first time; RELEASE.md, the setup-matrix scripts and the
bootstrap helpers move out of the numbered list into an "escape hatches"
paragraph (RELEASE stays under Operator); a new "Trust loop / certification
(experimental, hold-mode)" group makes docs/trust-loop/*, the evidence
ledger, governed-pipeline, SELF-EXTEND-AUDIT, the sample objective and
spikes/ reachable; "Planning & Roadmap" becomes "Planning history
(historical as of 2026-08-16)" because it described a finished program.
Stale status docs are date-stamped rather than deleted:
- ProtocolIntegration-MCP-A2A.md said the Nexo.API wiring was "planned"; it
landed in #269/#270 (Program.cs registers all four adapters and maps
/api/mcp and /api/a2a/{agentId}; IngressCatalog rows McpServer/A2AAgents).
- ci-pre-existing-failures.md said the Full Platform Readiness Gate was RED
as of 06-21; it went green with #317-#320/#335. Kept because
docs/planning/* still cite it.
- GapAnalysis.md and NorthStarGapAnalysis.md predate the trust loop; both get
a historical banner naming their still-open rows and pointing at the
ledger, ProjectTiers and CHANGELOG.
GettingStarted.md #5 contradicted DocsIndex on "installer" scripts (the
scripts/install/* helpers exist but bootstrap the container lane); it now
says so and points first-run readers at the quickstart. The pointer to a
README section "First Successful Pipeline Run" (which does not exist) now
names the sections that do. IntegratorGuide.md recommended `dotnet build
Nexo.sln` (the docs guard forbids it in README); it now builds
Nexo.Kernel.sln and the CLI project, with hello-brick as the smallest test
example, and the compatibility matrix names the solutions that actually
apply.
spikes/README.md: the 27 tracked files under spikes/ were cited as PASS
evidence by the ledger but undocumented. It says what each spike is, every
flag of the flight runner, which ledger rows cite each spike, and that none
of it is a supported entry point.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
….md stops citing a release that does not exist
CHANGELOG.md carried a single generic [Unreleased] block untouched by ~50
merges (119 conventional commits) since the file was added on 2026-08-13.
The block is now Keep-a-Changelog grouped (Added / Changed / Fixed /
Security) from `git log e668215..master`, with PR numbers where a change
landed as one PR, and names the wave-1/2 readiness PRs #325-#337. No version
is cut and the header sentence the docs/repo-map-refresh branch edits is
untouched.
SECURITY.md said "only the most recent release and master are supported"
while no release has been tagged; it now says master is the only supported
line until one is.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
…ight prerequisites
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@cursor

cursorBot commented Aug 17, 2026

Copy link
Copy Markdown
Contributor

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@IanFrelinger
IanFrelinger merged commit a28f254 into masterAug 17, 2026
3 checks passed
@IanFrelinger
IanFrelinger deleted the docs/tester-quickstart branch August 17, 2026 14:12
IanFrelinger pushed a commit that referenced this pull request Aug 17, 2026
IanFrelinger pushed a commit that referenced this pull request Aug 17, 2026
…tatements updated to 10 (GettingStarted, IntegratorGuide, TesterQuickstart)
Sign up for freeto 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.

2 participants

@IanFrelinger@PlzTouchGrass