{String(item.name ?? name)}
++ {String(item.detail ?? "Readiness not reported")} +
+Review and grant before reserving the linked attempt. Each interactive call repeats current authority, source and budget checks; independent final verification follows separately. On a narrow screen, scroll horizontally or focus a diagram and use the arrow keys.
-The coding channel is separate from the 185-tool operator MCP server. Its token is invocation-scoped, expires no later than the provider deadline, and is removed from streams and retained activity before storage. Accepted effects drain before teardown. Codex retains `workspace-write`; Claude uses an explicit private MCP configuration with strict server/tool selection. These adapters do not make general role-tool declarations enforceable inside an official CLI. A host runner retains service-account execution with timeout/output controls, without filesystem or network isolation. The grant changes no original snapshot, repair allowance or shared runner budget. See [the recovery journey](recovery.md#grant-configured-checks-for-the-final-recovery) and [native API contract](api.md#scoped-coding-check-grants). +The coding channel is separate from the 202-tool operator MCP server. Its token is invocation-scoped, expires no later than the provider deadline, and is removed from streams and retained activity before storage. Accepted effects drain before teardown. Codex retains `workspace-write`; Claude uses an explicit private MCP configuration with strict server/tool selection. These adapters do not make general role-tool declarations enforceable inside an official CLI. A host runner retains service-account execution with timeout/output controls, without filesystem or network isolation. The grant changes no original snapshot, repair allowance or shared runner budget. See [the recovery journey](recovery.md#grant-configured-checks-for-the-final-recovery) and [native API contract](api.md#scoped-coding-check-grants). Bridge completion requests follow the same uncertainty rule. A transport failure, unusable completion or cancellation during an unfinished submission retains the original intent and workspace for reconciliation. Local cancellation stops scheduling but cannot establish the remote result. The hold survives cancelled, interrupted or failed run status; resume, handoff and replacement retry check it before dispatch. Recovery of the original Bridge job is not automated. See [provider failure handling](agents.md). @@ -643,7 +904,7 @@ Built-in model instructions are versioned YAML resources loaded and rendered by | Native browser QA | Fresh Docker context, declared local origin and bounded actions | Layout diagnostics and screenshots require actual visual/interaction review. | | Native PHP diagnostics | Explicit `profile_php` plus command grant, frozen Docker/archive/network-`none` runner | Runtime metrics or preinstalled Xdebug observations retain command receipts; they do not authorize or approve work. | | Internet search | Explicit Brave or Tavily selection, retained credential revision and domain restrictions | Bounded cited results are untrusted references; no key goes to the model. | -| Factory MCP | 185 authenticated operator tools in `mcp_server.py` | These API tools are distinct from a coding model's workspace tools. | +| Factory MCP | 202 authenticated operator tools in `mcp_server.py` | These API tools are distinct from a coding model's workspace tools. | Flycanon retrieves `forge-A semantic verdict is followed by current facts and authority checks before the write intent. Focus and scroll the diagram on a narrow screen.
+Read the three stages from top to bottom: validate the review, select or correct the response, then recheck authority and retain the write intent. Focus and scroll each stage on a narrow screen.
+ +A supported verdict cannot grant permissions, change the execution plan, answer a pending question or bypass source freshness. Native validation requires known, nonduplicate review references covering every candidate citation. A supported factual verdict proceeds directly only when every reader check passes and there are no issues. Supported facts with a false reader check may carry editorial issues and trigger one correction; contradictory factual issues remain invalid. Unsupported claims or uncertainty also trigger that correction. There is no second semantic veto. The retained review applies to the original candidate; the corrected candidate has its own digest. Malformed reviews, timeout and provider failure hold delivery with a reason and no substitute template or automatic repeated calls. The candidate and review prompt digests bind the classification to the reviewed text. An AI verdict can still be wrong; direct review of real published messages remains an acceptance step. + +Test and function names are plain text in the narrative. The renderer escapes underscores so a name such as `test_validation_responses` cannot become Markdown formatting or cause an otherwise valid correction to be withheld. Recorded command and error excerpts use a separate fenced-code path; their filtered bytes stay unchanged. + +A recorded worker-identity guard identifies the failed step as admission of a retained verification result. It does not establish why the identity was unavailable. This display fact grants no permission and does not resume the worker. -A supported verdict cannot grant permissions, change the execution plan, answer a pending question or bypass source freshness. Native validation requires known, nonduplicate review references covering every candidate citation and no issues with a supported verdict. Unsupported claims or uncertainty trigger one AI correction followed by the response. There is no second semantic veto. The retained review applies to the original candidate; the corrected candidate has its own digest. Malformed reviews, timeout and provider failure hold delivery with a reason and no substitute template or automatic repeated calls. The candidate and review prompt digests bind the classification to the reviewed text. An AI verdict can still be wrong; direct review of real published messages remains an acceptance step. +Publication drafts use the same strict reader-check model and single-correction path. Both `collaboration/publication-system` and `collaboration/publication-review-system` are pinned to version `1.0.1`. Their editorial contract asks whether the proposed PR explains its objective, change and verification in professional American English. Selected excerpts must come from supplied diagnostics; a reported change or source hash still supplies no remote publication authority. ### Native Agentic tool custody diff --git a/docs/as-is-handoff.md b/docs/as-is-handoff.md index 9d21cf5a1..483f72ef6 100644 --- a/docs/as-is-handoff.md +++ b/docs/as-is-handoff.md @@ -33,12 +33,14 @@ The exact owner-reviewed evidence becomes frozen assistant context. The dashed f ## Follow source inspection in Studio -Select the product in **Product projects**, then choose **Open source inspection**. Its wizard has four steps. This walkthrough uses controlled responses for a monorepo with two distinct component roots, the same source commit and numeric skipped-file counts. It demonstrates presentation and explicit review; it runs no source inspection, model, provider or test command. +Select the product in **Product projects**, then choose **Open source inspection**. The dedicated project page has four steps and one native page scrollbar; **Back to project** returns to the overview. This walkthrough uses controlled responses for a monorepo with two distinct component roots, the same source commit and numeric skipped-file counts. It demonstrates presentation and explicit review; it runs no source inspection, model, provider or test command. -1. In **Scope**, select the configured roots to inspect, then choose **Inspect configured source**. On your factory this starts source inspection; simply opening the wizard does not. -2. In **Receipt**, select the returned report and inspect its recorded state, component/declaration counts and digest. **Refresh reports** reads retained reports. Continue to its evidence. -3. In **Evidence**, check each component's root, source commit, declarations and skipped-file count. Expand **Exact source excerpt** to inspect a declaration's line and blob reference. Missing declarations require a coverage check before you infer anything about the product. -4. In **Review**, read the open questions and download the source documents if needed. Acknowledge the source evidence explicitly, then choose **Acknowledge this report digest**. This confirms that report's source review; it leaves customer journeys and runtime behavior unconfirmed. **Done** closes the wizard. +1. In **Scope**, search or filter the configured roots and review the selection count, then choose **Inspect N components**. Bulk actions apply to all matching results across pages and preserve selections outside the filter. On your factory this starts source inspection; simply opening or filtering the wizard does not. +2. In **Report**, select the returned report and inspect its recorded state, component/declaration counts and digest. **Refresh reports** reads retained reports. A historical report does not validate a new selection or mark the scope complete. +3. In **Source findings**, check each component's root, source commit, declarations and skipped-file count. Expand **Exact source excerpt** to inspect its exact text, line and blob reference. Missing declarations require a coverage check before you infer anything about the product. +4. In **Review**, read the open questions and download the source documents if needed. Choose **Confirm source review** only after reviewing that source evidence. **Continue to product definition** passes the reviewed report's ID, digest and actual component IDs as draft context; it starts no conversation or model and accepts no definition. An earlier or missing project snapshot holds that handoff until the current source is inspected and reviewed. **Done** returns to the overview. + +Studio preserves the component selection and filters between steps. Added components are not selected automatically, removed components leave the request, and changed selected roots or contracts require explicit scope review. An unsuccessful inspection keeps the draft and error; reading reports does not automatically retry it.- Set up the workspace, coding providers, repository access and - project knowledge. -
++ Set up the workspace, coding providers, repository access and + project knowledge. +
+ )}- {String( - chosenProvider[1].detail ?? "Readiness not reported", - )} -
-+ {String(item.detail ?? "Readiness not reported")} +
+
+ {lineNumbers && (
+
+ )}
+ {current ? renderNodes(current.nodes) : value}
+
+
+ {copied === "unavailable"
+ ? "Copy unavailable. Select the code to copy it."
+ : copied === "copied"
+ ? "Code copied."
+ : ""}
+
+ {selected.length} selected checks. Up to{" "} - {Math.min(20, candidate.interactive_commands_remaining)}{" "} - interactive calls can be granted without consuming - independent final verification capacity. + {candidate.interactive_commands_remaining} interactive + calls can be granted without consuming independent final + verification capacity.