From f058f7ddbaaef736dfc92fab08db90324c091cae Mon Sep 17 00:00:00 2001 From: fullsend-code <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 13:21:49 +0000 Subject: [PATCH 1/3] docs(#3862): remove ADR links from user-facing documentation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit User-facing guides under docs/guides/user/, docs/guides/infrastructure/, and docs/guides/getting-started/ linked to internal Architecture Decision Records (ADRs) as documentation references. ADRs are internal architectural decisions written for contributors — directing end users to ADRs creates confusion and a poor onboarding experience. Removed all ADR links from 14 user-facing documentation files. Where an ADR link was the sole explanation, replaced it with an inline description of the relevant behavior. Where deprecated features referenced ADRs, kept the deprecation notice but pointed to the recommended user-facing guide instead (e.g., Bring Your Own Agent). ADR references in contributor-facing docs (docs/guides/dev/) and structural navigation (docs/guides/README.md) are preserved, as those audiences benefit from architectural context. Closes #3862 --- docs/guides/infrastructure/advanced-setup.md | 2 +- .../infrastructure/distributed-tracing.md | 5 +---- .../infrastructure/infrastructure-reference.md | 2 +- .../infrastructure/mint-administration.md | 4 ++-- .../infrastructure/private-repositories.md | 2 +- docs/guides/infrastructure/standalone-mint.md | 2 +- docs/guides/user/bring-your-own-agent.md | 8 ++++---- docs/guides/user/bugfix-workflow.md | 3 +-- docs/guides/user/building-custom-agents.md | 12 ++++++------ docs/guides/user/customizing-agents.md | 18 +++++++----------- docs/guides/user/customizing-with-agents-md.md | 2 +- docs/guides/user/customizing-with-skills.md | 13 ++++++------- docs/guides/user/running-agents-locally.md | 12 ++++++------ 13 files changed, 38 insertions(+), 47 deletions(-) diff --git a/docs/guides/infrastructure/advanced-setup.md b/docs/guides/infrastructure/advanced-setup.md index bdbaf52870..dd86c94a46 100644 --- a/docs/guides/infrastructure/advanced-setup.md +++ b/docs/guides/infrastructure/advanced-setup.md @@ -27,7 +27,7 @@ If the platform operator also provides a pre-existing WIF provider, skip `infere If you have IAM access to the platform operator's GCP project, pass `--mint-project` and `--mint-region` to `github setup` to enable auto-discovery of shared app IDs and automatic validation of mint configuration. This requires `roles/cloudfunctions.developer` on the platform mint project. -> This section documents the **SaaS installation profile** defined in [ADR 0033 §6](../../ADRs/0033-per-repo-installation-mode.md#6-credential-models). See the [CLI reference](../../cli/github.md#flags) for the full flag list. +> This section documents the **SaaS installation profile** — the default variant of the Managed model, where a platform operator pre-provisions the shared GitHub Apps and mint for you. See the [CLI reference](../../cli/github.md#flags) for the full flag list. ## OAuth scope reference diff --git a/docs/guides/infrastructure/distributed-tracing.md b/docs/guides/infrastructure/distributed-tracing.md index 6ad5998b37..7ecf820c1e 100644 --- a/docs/guides/infrastructure/distributed-tracing.md +++ b/docs/guides/infrastructure/distributed-tracing.md @@ -3,8 +3,6 @@ Fullsend produces structured telemetry for every agent run. This guide covers how to configure, consume, and extend the tracing system. -Decided in [ADR 0050](../../ADRs/0050-distributed-tracing-instrumentation.md). - ## Zero-configuration baseline (Level 1) Every `fullsend run` produces one file in the run output directory with no @@ -110,8 +108,7 @@ export OTEL_EXPORTER_OTLP_TRACES_HEADERS="authorization=Basic%20${CREDS_B64},x-m ## Enabling content capture (Level 3) > **Planned:** Level 3 content capture is not yet implemented. This section -> documents the contract decided in -> [ADR 0050](../../ADRs/0050-distributed-tracing-instrumentation.md). +> documents the telemetry contract. By default, spans contain metadata only (timing, token counts, tool names, errors). To include full prompt/completion content in spans: diff --git a/docs/guides/infrastructure/infrastructure-reference.md b/docs/guides/infrastructure/infrastructure-reference.md index cd0f72851c..21728083dd 100644 --- a/docs/guides/infrastructure/infrastructure-reference.md +++ b/docs/guides/infrastructure/infrastructure-reference.md @@ -92,7 +92,7 @@ Custom roles can be registered via the standalone mint's `CUSTOM_ROLE_PERMISSION ### Mint Security Controls -Mode is inferred from `ALLOWED_ORGS` — there is no separate trust-mode flag. See [ADR 0059](../../ADRs/0059-public-mint-mode-with-wildcard-allowlists.md) for the full decision. +Mode is inferred from `ALLOWED_ORGS` — there is no separate trust-mode flag. **Tight mint** (default): explicit comma-separated org list (no `*`). diff --git a/docs/guides/infrastructure/mint-administration.md b/docs/guides/infrastructure/mint-administration.md index e6542426d4..34526972e6 100644 --- a/docs/guides/infrastructure/mint-administration.md +++ b/docs/guides/infrastructure/mint-administration.md @@ -109,7 +109,7 @@ The deploy command automatically detects when the deployed function is up-to-dat ### Public mint deployment -Use `--public` to bootstrap a public mint ([ADR 0059](../../ADRs/0059-public-mint-mode-with-wildcard-allowlists.md)): `ALLOWED_ORGS=*` on the Cloud Function and a permissive WIF provider CEL for the STS authentication path. Orgs call the mint via upstream reusable workflows in `fullsend-ai/fullsend` after installing the shared public GitHub Apps — `mint enroll` is not required. +Use `--public` to bootstrap a public mint: `ALLOWED_ORGS=*` on the Cloud Function and a permissive WIF provider CEL for the STS authentication path. Orgs call the mint via upstream reusable workflows in `fullsend-ai/fullsend` after installing the shared public GitHub Apps — `mint enroll` is not required. ```bash fullsend mint deploy --project="$GCP_PROJECT" --pem-dir=/path/to/pems --public @@ -277,7 +277,7 @@ Role PEM secrets and `ROLE_APP_IDS` must already exist on the mint, created duri ### Public mint mode -When the mint is configured with `ALLOWED_ORGS=*` ([ADR 0059](../../ADRs/0059-public-mint-mode-with-wildcard-allowlists.md)), `mint enroll` exits successfully (exit code 0) in both public and tight modes, but only tight mode updates `ALLOWED_ORGS` and WIF. In public mode, org registration is unnecessary because all orgs are already allowed — the command discovers the mint and reports public mode without changing configuration. Scripts can call enroll in both modes without branching. `mint enroll owner/repo` also succeeds without per-repo WIF changes; per-repo installs use the default WIF provider and upstream reusable workflows. +When the mint is configured with `ALLOWED_ORGS=*` (public mode), `mint enroll` exits successfully (exit code 0) in both public and tight modes, but only tight mode updates `ALLOWED_ORGS` and WIF. In public mode, org registration is unnecessary because all orgs are already allowed — the command discovers the mint and reports public mode without changing configuration. Scripts can call enroll in both modes without branching. `mint enroll owner/repo` also succeeds without per-repo WIF changes; per-repo installs use the default WIF provider and upstream reusable workflows. `mint unenroll` cannot remove individual orgs from a public mint. To restrict access, replace `ALLOWED_ORGS=*` with an explicit org list (config-only rollback; no PEM rotation required). diff --git a/docs/guides/infrastructure/private-repositories.md b/docs/guides/infrastructure/private-repositories.md index dc8d2104b7..c5f8ff1385 100644 --- a/docs/guides/infrastructure/private-repositories.md +++ b/docs/guides/infrastructure/private-repositories.md @@ -167,7 +167,7 @@ Check the GitHub Actions logs for agent runs in both the target repo and `.fulls - Do log outputs contain sensitive values from the private repo? - Are the harness-level [secret redaction](../user/customizing-agents.md#harness-yaml-structure) and output scanning working as expected? -> **Note:** Agent output goes through the harness-level `SecretRedactor` pipeline before being applied (see [ADR 0022](../../ADRs/0022-harness-level-output-schema-enforcement.md)). This catches known secret patterns but cannot catch all forms of sensitive content — `AGENTS.md` instructions are your primary defense for context-specific information. +> **Note:** Agent output goes through the harness-level `SecretRedactor` pipeline before being applied. This catches known secret patterns but cannot catch all forms of sensitive content — `AGENTS.md` instructions are your primary defense for context-specific information. ## What should not be deployed based on data sensitivity diff --git a/docs/guides/infrastructure/standalone-mint.md b/docs/guides/infrastructure/standalone-mint.md index 2c40599860..698ac72706 100644 --- a/docs/guides/infrastructure/standalone-mint.md +++ b/docs/guides/infrastructure/standalone-mint.md @@ -120,7 +120,7 @@ The standalone mint is configured entirely through environment variables: ### Public mint mode -Set `ALLOWED_ORGS=*` to enable public mint mode ([ADR 0059](../../ADRs/0059-public-mint-mode-with-wildcard-allowlists.md)): +Set `ALLOWED_ORGS=*` to enable public mint mode: - Any org may request tokens (installation lookup still scopes tokens to the requesting org) - `job_workflow_ref` must reference `fullsend-ai/fullsend/.github/workflows/` only diff --git a/docs/guides/user/bring-your-own-agent.md b/docs/guides/user/bring-your-own-agent.md index 147af0a599..5b38a8c0f3 100644 --- a/docs/guides/user/bring-your-own-agent.md +++ b/docs/guides/user/bring-your-own-agent.md @@ -42,7 +42,7 @@ You do not need to write a GitHub Actions workflow file for each custom agent. T For local development and debugging, you can also run an agent directly with `fullsend run my-agent` — see [Testing locally](#testing-locally). -**Security model:** agents run inside a sandboxed environment. The sandbox policy enforces filesystem access, landlock, and process identity. Network access is typically managed via **provider profiles** (YAML files in a `providers/` directory) referenced by name in the harness `providers:` list — the scaffold's shared `policies/base.yaml` contains no network rules, since built-in agents use providers ([ADR 0065](../../ADRs/0065-provider-backed-policy-composition.md)). Custom agents can also use inline `network_policies` in a per-agent policy file if providers don't cover their needs. Pre-scripts run on the trusted runner _before_ the sandbox starts; post-scripts run _after_ it exits. +**Security model:** agents run inside a sandboxed environment. The sandbox policy enforces filesystem access, landlock, and process identity. Network access is typically managed via **provider profiles** (YAML files in a `providers/` directory) referenced by name in the harness `providers:` list — the scaffold's shared `policies/base.yaml` contains no network rules, since built-in agents use providers. Custom agents can also use inline `network_policies` in a per-agent policy file if providers don't cover their needs. Pre-scripts run on the trusted runner _before_ the sandbox starts; post-scripts run _after_ it exits. ## Minimum viable agent @@ -126,7 +126,7 @@ Do NOT push code, create issues, or modify anything directly. Your only output is the JSON result file. ```` -Network access (which APIs the agent can reach) is controlled by provider profiles or inline `network_policies`. The six built-in profiles (`vertex-ai`, `github`, `github-ro`, `github-artifacts`, `gitleaks`, `package-registries`) use framework-known `type` values (e.g. `fullsend-vertex-ai`, `fullsend-github`). To define a fully custom provider type, reference a remote provider definition together with a matching `openshell.profiles` entry (see [Remote Providers and Profiles](customizing-agents.md#remote-providers-and-profiles) and [ADR 0070](../../ADRs/0070-portable-provider-profile-resolution.md)). For endpoints not covered by providers, inline `network_policies` in the policy YAML also work. Providers are the pattern used by fullsend's built-in agents ([ADR 0065](../../ADRs/0065-provider-backed-policy-composition.md)), but custom agents can use whichever approach fits. +Network access (which APIs the agent can reach) is controlled by provider profiles or inline `network_policies`. The six built-in profiles (`vertex-ai`, `github`, `github-ro`, `github-artifacts`, `gitleaks`, `package-registries`) use framework-known `type` values (e.g. `fullsend-vertex-ai`, `fullsend-github`). To define a fully custom provider type, reference a remote provider definition together with a matching `openshell.profiles` entry (see [Remote Providers and Profiles](customizing-agents.md#remote-providers-and-profiles)). For endpoints not covered by providers, inline `network_policies` in the policy YAML also work. Providers are the pattern used by fullsend's built-in agents, but custom agents can use whichever approach fits. **Next steps:** [Register your agent](#registering-your-agent) so dispatch discovers it, then [write a CEL trigger](cel-triggers-reference.md#writing-cel-triggers) to control when it runs. To iterate on your agent locally before registering, see [Testing locally](#testing-locally). @@ -212,7 +212,7 @@ image: ghcr.io/fullsend-ai/fullsend-sandbox:latest policy: policies/base.yaml # Sandbox policy (filesystem, landlock, process) model: opus # LLM model override readonly_repo: false # Mount repo as read-only in sandbox -providers: # Network access via provider profiles (ADR 0065) +providers: # Network access via provider profiles - vertex-ai # References providers/vertex-ai.yaml - github # References providers/github.yaml @@ -535,7 +535,7 @@ repos: ## Migrating from `customized/` -The `customized/` directory overlay ([ADR 0035](../../ADRs/0035-layered-content-resolution.md)) is deprecated in favor of the `base:` composition and config-driven registration described in this guide ([ADR 0064](../../ADRs/0064-deprecate-customized-directory-overlay.md)). +The `customized/` directory overlay is deprecated in favor of the `base:` composition and config-driven registration described in this guide. If you have existing files in `customized/`, the `fullsend agent migrate-customizations` command automates the conversion to config-driven agents. diff --git a/docs/guides/user/bugfix-workflow.md b/docs/guides/user/bugfix-workflow.md index af04ca69b4..25b2624da9 100644 --- a/docs/guides/user/bugfix-workflow.md +++ b/docs/guides/user/bugfix-workflow.md @@ -11,7 +11,7 @@ When someone files a bug, fullsend's agent pipeline processes it through four st 3. **Review** — multiple review agents evaluate the PR independently, a coordinator decides the outcome 4. **Fix** — addresses review feedback automatically or on human command, then loops back to review -Each stage is triggered by labels and can be restarted with slash commands. The pipeline uses GitHub's native primitives (issues, PRs, labels, branch protection) as its coordination layer — there is no central orchestrator. See [ADR 0002](../../ADRs/0002-initial-fullsend-design.md) for the full design. +Each stage is triggered by labels and can be restarted with slash commands. The pipeline uses GitHub's native primitives (issues, PRs, labels, branch protection) as its coordination layer — there is no central orchestrator. ``` Issue filed → Triage → ready-to-code → Code Agent → PR opened → Review → ready-for-merge → Merge @@ -188,7 +188,6 @@ Fullsend does not lock you out. The labels are the state machine, and you have f ## Reference -- [ADR 0002](../../ADRs/0002-initial-fullsend-design.md) — initial fullsend design (full workflow specification) - [Architecture overview](../../architecture.md) — component vocabulary and execution stack - [Installing fullsend](../getting-started/) — prerequisite: setup guide - [Security threat model](../../problems/security-threat-model.md) — how fullsend thinks about security diff --git a/docs/guides/user/building-custom-agents.md b/docs/guides/user/building-custom-agents.md index b47fef37a3..afd163b8a4 100644 --- a/docs/guides/user/building-custom-agents.md +++ b/docs/guides/user/building-custom-agents.md @@ -1,10 +1,11 @@ # Building custom agents from scratch > **Deprecated:** This guide uses the `customized/` directory overlay, which is -> deprecated per [ADR-0064](../../ADRs/0064-deprecate-customized-directory-overlay.md). -> For new custom agents, register them in `config.yaml` with a local `source:` -> path instead. Run `fullsend agent migrate-customizations --dry-run` to -> preview migrating existing customizations. +> deprecated. For new custom agents, register them in `config.yaml` with a +> local `source:` path instead. See +> [Bring Your Own Agent](bring-your-own-agent.md) for the recommended approach. +> Run `fullsend agent migrate-customizations --dry-run` to preview migrating +> existing customizations. This guide walks through creating a custom from-scratch agent on a per-repo fullsend installation. @@ -177,7 +178,7 @@ env: timeout_minutes: 20 -# Optional: enable runtime skill fetching (ADR-0038 Phase 4) +# Optional: enable runtime skill fetching # allowed_remote_resources: # - https://github.com/org/skills/ # allow_runtime_fetch: true @@ -643,4 +644,3 @@ When creating a new agent, you need these files: - [Getting Started](../getting-started/README.md) — prerequisite: admin setup guide - [Architecture overview](../../architecture.md) — component vocabulary and execution stack - [Security threat model](../../problems/security-threat-model.md) — how fullsend thinks about security -- [ADR 0035: Layered Content Resolution](../../ADRs/0035-layered-content-resolution.md) — how customized files override upstream defaults diff --git a/docs/guides/user/customizing-agents.md b/docs/guides/user/customizing-agents.md index 1f71cd48a0..d22a591d94 100644 --- a/docs/guides/user/customizing-agents.md +++ b/docs/guides/user/customizing-agents.md @@ -129,17 +129,16 @@ When using `base:` composition, the base harness can declare its own providers a - **Profiles:** base + child lists are concatenated; deduplicated by profile `id` (child wins) - **Providers:** base + child lists are concatenated; local names shadow URL-resolved names of the same `name` -Remote URLs must include a `#sha256=...` integrity hash and match an `allowed_remote_resources` prefix. See [ADR 0070](../../ADRs/0070-portable-provider-profile-resolution.md) for full details. +Remote URLs must include a `#sha256=...` integrity hash and match an `allowed_remote_resources` prefix in the same config. The integrity hash is checked on every resolution to ensure the content hasn't been tampered with since it was pinned. ## Layered Configuration Resolution > **Deprecated:** The `customized/` directory overlay mechanism described -> below is deprecated per [ADR-0064](../../ADRs/0064-deprecate-customized-directory-overlay.md). -> Use `base:` composition instead: register agents in `config.yaml` with a -> `base:` URL pointing to the upstream harness, and override only the fields -> that differ. See [ADR-0045](../../ADRs/0045-forge-portable-harness-schema.md) -> for the composition model and [ADR-0058](../../ADRs/0058-agent-registration.md) -> for config-driven registration. +> below is deprecated. Use `base:` composition instead: register agents in +> `config.yaml` with a `base:` URL pointing to the upstream harness, and +> override only the fields that differ. See +> [Bring Your Own Agent](bring-your-own-agent.md) for the composition model +> and config-driven registration. > Run `fullsend agent migrate-customizations --dry-run` to preview the > migration, then `fullsend agent migrate-customizations --repo owner/repo` > to apply it. @@ -148,7 +147,7 @@ Fullsend uses a three-tier configuration inheritance model for all configuration ``` ┌──────────────────────────────────────────────────────────────┐ -│ Configuration Layering (ADR 0035, deprecated by ADR 0064) │ +│ Configuration Layering (deprecated — use base: composition) │ ├──────────────────────────────────────────────────────────────┤ │ │ │ Priority (highest wins): │ @@ -320,8 +319,6 @@ upstream defaults (fullsend-ai/fullsend) Per-repo registries are read from the **base branch**, not from the PR's working tree. This means changes to `.pre-commit-tools.yaml` in a PR do not take effect until the PR is merged. This is intentional — the tool installation pipeline runs outside the sandbox with elevated permissions, and PR content is untrusted. -See [ADR 0056](../../ADRs/0056-per-repo-precommit-tools-registry.md) for the full security rationale. - ## Agent Roles Each agent role has its own identity, permissions, and purpose: @@ -535,4 +532,3 @@ disables nothing because no agent has that harness name. - [Getting Started](../getting-started/) - Initial setup - [Bugfix Workflow](bugfix-workflow.md) - How agents work together - [Standalone Mint](../infrastructure/standalone-mint.md) - Running your own mint with custom agent roles -- [ADR 0035: Layered Content Resolution](../../ADRs/0035-layered-content-resolution.md) diff --git a/docs/guides/user/customizing-with-agents-md.md b/docs/guides/user/customizing-with-agents-md.md index 4ad8054a59..b99449a7c6 100644 --- a/docs/guides/user/customizing-with-agents-md.md +++ b/docs/guides/user/customizing-with-agents-md.md @@ -120,7 +120,7 @@ takes precedence. cannot write files regardless of what AGENTS.md says) - Remove or replace built-in skills — use [`customized/skills/`](customizing-with-skills.md#overriding-built-in-skills) - for that (deprecated; use config-driven agent registration instead) + for that (deprecated — use config-driven agent registration instead) - Change the agent's model or execution parameters ### Injection handling diff --git a/docs/guides/user/customizing-with-skills.md b/docs/guides/user/customizing-with-skills.md index c87851f544..c3022af303 100644 --- a/docs/guides/user/customizing-with-skills.md +++ b/docs/guides/user/customizing-with-skills.md @@ -116,14 +116,13 @@ when available. ## Overriding built-in skills -> **Deprecated:** The `customized/` overlay described below is deprecated per -> [ADR-0064](../../ADRs/0064-deprecate-customized-directory-overlay.md). -> Use `base:` composition and config-driven agent registration instead. +> **Deprecated:** The `customized/` overlay described below is deprecated. +> Use `base:` composition and config-driven agent registration instead — +> see [Bring Your Own Agent](bring-your-own-agent.md). To intentionally **replace** a built-in skill with your own version, use the -`customized/` overlay ([ADR 0035](../../ADRs/0035-layered-content-resolution.md)). -This replaces the skill at the config layer before the agent starts — the -built-in version is never uploaded to the sandbox. +`customized/` overlay. This replaces the skill at the config layer before the +agent starts — the built-in version is never uploaded to the sandbox. Create the override in your `.fullsend` config repo (per-org mode) or in `.fullsend/customized/` in the target repo (per-repo mode). The directory @@ -139,7 +138,7 @@ engine, not through project-level skill discovery. ### Built-in skills These skills ship with fullsend and can be overridden via `customized/skills/` -(deprecated per ADR-0064 — use config-driven agent registration instead): +(deprecated — use config-driven agent registration instead): | Agent | Skill | Purpose | |-------|-------|---------| diff --git a/docs/guides/user/running-agents-locally.md b/docs/guides/user/running-agents-locally.md index 51b6f57961..0cd69c278a 100644 --- a/docs/guides/user/running-agents-locally.md +++ b/docs/guides/user/running-agents-locally.md @@ -204,9 +204,8 @@ fullsend run code \ ### Remote resource flags -When your harness references URL-based skills with transitive dependencies -(see [ADR-0038](../../ADRs/0038-universal-harness-access.md)), you can tune -resolution limits: +When your harness references URL-based skills with transitive dependencies, +you can tune resolution limits: | Flag | Default | Description | |------|---------|-------------| @@ -339,10 +338,11 @@ git clone --depth 1 https://github.com/fullsend-ai/agents.git /tmp/agents/ Then apply your organization customizations, if any: -> **Note:** The `customized/` overlay mechanism is deprecated per -> [ADR-0064](../../ADRs/0064-deprecate-customized-directory-overlay.md). -> Orgs that have migrated to config-driven agents should skip these +> **Note:** The `customized/` overlay mechanism is deprecated. Orgs that +> have migrated to config-driven agents should skip these > `cp -r customized/` steps and use the registered harness paths directly. +> See [Bring Your Own Agent](bring-your-own-agent.md) for the recommended +> approach. ```bash git clone --depth 1 https://github.com/{org}/.fullsend.git /tmp/org-fullsend/ From 7f2d7e884c7825f02edcf9071fe542a7b19a88b6 Mon Sep 17 00:00:00 2001 From: fullsend-fix <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Mon, 27 Jul 2026 13:04:17 +0000 Subject: [PATCH 2/3] fix: remove remaining ADR references from user-facing docs After rebase onto main, 5 ADR references remained in user-facing docs: - bring-your-own-agent.md: ADR 0054 in dispatch diagram - cel-triggers-reference.md: ADR 0054 and ADR 0058 inline links (file created on main after original PR) - repo-management.md: ADR 0044 and ADR 0057 references (file modified on main after original PR) Removed all to match the PR's goal of zero ADR links in docs/guides/user/, docs/guides/infrastructure/, and docs/guides/getting-started/. Addresses review feedback on #5413 --- docs/guides/getting-started/repo-management.md | 6 ++---- docs/guides/user/bring-your-own-agent.md | 2 +- docs/guides/user/cel-triggers-reference.md | 4 ++-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/docs/guides/getting-started/repo-management.md b/docs/guides/getting-started/repo-management.md index 4ed21604c5..4099a905b5 100644 --- a/docs/guides/getting-started/repo-management.md +++ b/docs/guides/getting-started/repo-management.md @@ -364,9 +364,8 @@ command is primarily useful for one-off checks. ## Migrating from per-org mode to manifest management -Organizations migrating from per-org mode -([ADR 0044](../../ADRs/0044-deprecate-per-org-installation-mode.md)) to -per-repo manifest management can use the following workflow. +Organizations migrating from per-org mode to per-repo manifest management +can use the following workflow. ### Step 1: Generate a manifest from existing installations @@ -466,4 +465,3 @@ commands. - [Per-Org Mode](org-mode.md) — Organization-mode installation (planned deprecation) - [CLI Reference: fullsend repos](../../cli/repos.md) — Full flag and subcommand reference - [Mint administration](../infrastructure/mint-administration.md) — Token mint deployment and management -- [ADR 0057](../../ADRs/0057-repos-management.md) — Design decision for repos management diff --git a/docs/guides/user/bring-your-own-agent.md b/docs/guides/user/bring-your-own-agent.md index 5b38a8c0f3..66c95f1068 100644 --- a/docs/guides/user/bring-your-own-agent.md +++ b/docs/guides/user/bring-your-own-agent.md @@ -21,7 +21,7 @@ GitHub event (issue opened, label added, PR comment, ...) ▼ ┌── fullsend dispatch ──────────────────┐ │ 1. Normalize event → NormalizedEvent │ -│ 2. Authorize (ADR 0054) │ +│ 2. Authorize │ │ 3. Enumerate registered harnesses │ │ 4. Evaluate CEL triggers │ │ 5. Launch matching agents │ diff --git a/docs/guides/user/cel-triggers-reference.md b/docs/guides/user/cel-triggers-reference.md index 962e91606f..d7f643291b 100644 --- a/docs/guides/user/cel-triggers-reference.md +++ b/docs/guides/user/cel-triggers-reference.md @@ -12,9 +12,9 @@ When you register a custom agent and give it a `trigger` expression, fullsend ha 2. **Normalize.** The `gha-event` input driver converts the raw GitHub event into a [`NormalizedEvent`](../../normative/normalized-event/v1/) — a forge-neutral struct with fields like `event.entity.kind`, `event.transition.kind`, and `event.actor.role`. -3. **Authorize.** `fullsend dispatch` enforces the platform authorization gate ([ADR 0054](../../ADRs/0054-require-authorization-on-all-agent-dispatch-paths.md)) before any agent is considered. Authorization is a platform-level decision — your CEL trigger does not need to implement permission checks (though you can add guards like `event.actor.role` if your agent has stricter requirements). +3. **Authorize.** `fullsend dispatch` enforces the platform authorization gate before any agent is considered. Authorization is a platform-level decision — your CEL trigger does not need to implement permission checks (though you can add guards like `event.actor.role` if your agent has stricter requirements). -4. **Enumerate.** Dispatch loads all registered agents from the merged config (`agents:` list in org and per-repo `config.yaml`, plus scaffold discovery from [ADR 0058](../../ADRs/0058-agent-registration.md)). Each harness with a non-empty `trigger` field is a candidate. +4. **Enumerate.** Dispatch loads all registered agents from the merged config (`agents:` list in org and per-repo `config.yaml`, plus scaffold discovery). Each harness with a non-empty `trigger` field is a candidate. 5. **Evaluate.** Each candidate's CEL `trigger` expression is evaluated with `event` bound to the `NormalizedEvent`. Every harness whose trigger returns `true` is selected. Multiple agents can match the same event (parallel fan-out). From 223d0881fc0a4837b142b036180665c21102d9d9 Mon Sep 17 00:00:00 2001 From: fullsend-fix <278716306+fullsend-ai-coder[bot]@users.noreply.github.com> Date: Thu, 30 Jul 2026 06:55:43 +0000 Subject: [PATCH 3/3] fix: align ASCII box width in customizing-agents.md Shorten the Configuration Layering box header text to match the 62-character border width, fixing visual misalignment in monospace rendering. Addresses review feedback on #5413 --- docs/guides/user/customizing-agents.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/guides/user/customizing-agents.md b/docs/guides/user/customizing-agents.md index d22a591d94..0512f26ee8 100644 --- a/docs/guides/user/customizing-agents.md +++ b/docs/guides/user/customizing-agents.md @@ -147,7 +147,7 @@ Fullsend uses a three-tier configuration inheritance model for all configuration ``` ┌──────────────────────────────────────────────────────────────┐ -│ Configuration Layering (deprecated — use base: composition) │ +│ Configuration Layering (deprecated; use base: instead) │ ├──────────────────────────────────────────────────────────────┤ │ │ │ Priority (highest wins): │