docs(#238): document agent content migration to fullsend-ai/agents#284
docs(#238): document agent content migration to fullsend-ai/agents#284fullsend-ai-coder[bot] wants to merge 2 commits into
Conversation
Agent definitions, skills, and harness configs have moved to the fullsend-ai/agents repository. The copies under internal/scaffold/fullsend-repo/ are stale and will be removed. Add an "Agent definitions and skills" section to AGENTS.md documenting the migration and listing the deprecated scaffold paths. Add README.md deprecation markers to each affected scaffold directory (agents/, skills/, harness/) so contributors encountering these files are redirected to the correct repo. The harness/ README notes that those configs are still actively embedded via //go:embed and must remain in this repository, unlike agents/ and skills/ which are fully deprecated. Closes #238
E2E tests did not runE2E tests run automatically for org/repo members and collaborators on pull requests. For other contributors, a maintainer must add the See E2E testing guide for details. |
|
🤖 Finished Review · ✅ Success · Started 4:42 PM UTC · Completed 4:51 PM UTC |
Review — commentWell-scoped docs PR that matches issue #238's request: AGENTS.md section documenting the migration to One medium finding on technical precision, and a docs-currency observation for follow-up. Findings1. Imprecise technical claim — "runtime layering system" (Medium · correctness)File: The text states:
The actual dependency is The phrase "runtime layering system" doesn't describe this mechanism. A contributor following this documentation to understand the constraint would look at Suggested replacement:
2. Other guides reference scaffold paths without migration context (Low · docs-currency)Several user-facing guides reference
These aren't stale yet — the scaffold files still exist and work. But they'll need migration notices when SecurityNo findings. Diff is clean ASCII + UTF-8 em dashes. No secrets, no injection patterns, no permission changes. Scope & intentThe PR is well-authorized by issue #238 and stays within its requested scope (AGENTS.md section + README markers). The choice of README.md files over HTML comments (the issue offered both) is appropriate — READMEs are visible in directory listings on GitHub and in editors, making them more effective as contributor guardrails than inline HTML comments.
Previous runReview — commentScope: Documentation-only PR (4 files, +37/−0) adding deprecation notices for agent/skill/harness scaffold content that has moved to Intent alignment: ✅ The PR implements exactly what #238 requested — an AGENTS.md section documenting the migration and README deprecation markers in each scaffold directory. No scope creep. Security: ✅ No secrets, no permission changes, no injection patterns. Style: ✅ The new AGENTS.md section follows the existing heading structure and imperative prose style. Findings1.
|
| Severity | medium |
| Category | technical-accuracy |
| File | AGENTS.md (new section, lines ~27–31) |
The added text states:
Harness configs must remain in this repository because the runtime layering system resolves harness content from the local scaffold, not from
fullsend-ai/agentsdirectly.
This is inaccurate. At runtime, harness content is not resolved from the local embedded scaffold. The actual mechanism is:
- At install time,
HarnessWrappersLayer.Install()generates thin wrapper YAML files containing abase:URL pointing toraw.githubusercontent.com/fullsend-ai/fullsend/<sha>/internal/scaffold/fullsend-repo/harness/<name>.yaml. - The embedded scaffold copy is used only to compute the SHA-256 integrity hash appended to that URL (via
HarnessContentHash()ininternal/scaffold/baseurl.go). - At runtime, the
base:URL is fetched from GitHub — not from the embedded filesystem.
The harness files must remain in this repo because (a) they are the content served via raw.githubusercontent.com URLs that wrappers reference, and (b) the embedded copy provides the integrity hash baseline at install time.
Suggested fix: Replace the sentence with something like:
Harness configs must remain in this repository because they are the source of truth served via
raw.githubusercontent.comURLs that wrapper harnesses reference at runtime, and the embedded copies are used to compute integrity hashes at install time.
2. internal/scaffold/fullsend-repo/harness/README.md — ambiguous "canonical" framing
| Severity | low |
| Category | internal-consistency |
| File | internal/scaffold/fullsend-repo/harness/README.md |
The README says fullsend-ai/agents is the "canonical editing source," while the files in this repo are what raw.githubusercontent.com actually serves at runtime. The word "canonical" could lead a reader to believe these files can be safely removed if fullsend-ai/agents has them — when in fact the opposite is true (this repo is the canonical runtime source). The intended message ("author changes in agents repo, sync back here") comes through in context, so this is minor.
Previous run (2)
Review — comment
Documentation-only PR that adds migration notices to AGENTS.md and deprecation READMEs to three scaffold directories. The change faithfully implements issue #238 and is well-scoped. One medium-severity accuracy concern worth noting before merge.
Findings
1. Embed and test dependencies on "stale" directories — medium
File: AGENTS.md (new section, lines ~18–21)
The new section states that copies under internal/scaffold/fullsend-repo/agents/ and internal/scaffold/fullsend-repo/skills/ "are stale and will be removed." However, the actual embed directive at internal/scaffold/scaffold.go:11 is:
//go:embed all:fullsend-repo
var content embed.FSThis embeds the entire fullsend-repo/ tree — including agents/ and skills/, not just harness/. Additionally, scaffold_test.go actively asserts against files in these directories:
FullsendRepoFile("agents/code.md")(line 369)FullsendRepoFile("skills/code-implementation/SKILL.md")(line 378)FullsendRepoFile("agents/triage.md")(line 541)FullsendRepoFile("agents/prioritize.md")(line 846)
Deleting these files would break both the embed and these tests. The claim that they "will be removed" is directionally correct but creates an impression they can simply be deleted.
Suggested fix: Soften to "are deprecated and will be removed after their embed and test dependencies are migrated," or note the dependency in the AGENTS.md section.
2. Imprecise //go:embed framing — low
File: AGENTS.md (new section, lines ~25–28)
The text says harness configs are "actively embedded into the Go binary via //go:embed" as though this is specific to harness/. The embed actually covers the entire fullsend-repo/ subtree, meaning agents/ and skills/ (called "stale" in the same paragraph) are equally embedded. This selective framing could confuse a contributor into thinking only harness files are embedded.
3. Harness README implies automated sync — low
File: internal/scaffold/fullsend-repo/harness/README.md (line 5)
The README states: "these files are synced from the upstream source." No sync mechanism (GitHub Action, script, or Makefile target) exists in the repository. If syncing is manual, this should say "should be kept in sync with" rather than "are synced from" to avoid a contributor editing in fullsend-ai/agents and waiting for an automated sync that doesn't exist.
Dimensions reviewed
| Dimension | Result |
|---|---|
| Correctness | 1 medium, 2 low |
| Security | No findings |
| Intent & coherence | No findings — scope matches #238 exactly |
| Style & conventions | No findings — heading level, placement, and link format are consistent |
| Docs currency | No findings within PR scope |
| Cross-repo contracts | Skipped — no API/schema changes |
Labels: PR is documentation-only, adding migration notices and deprecation markers
|
/fs-fix |
|
🤖 Finished Fix · ✅ Success · Started 5:38 PM UTC · Completed 5:47 PM UTC |
- Soften removal language for agents/ and skills/ to note embed and test dependencies must be migrated first - Clarify that //go:embed covers the entire fullsend-repo/ tree, not just harness/ - Change harness README from "are synced" to "should be kept in sync" since no automated sync mechanism exists Addresses review feedback on #284
🔧 Fix agent — iteration 1 (human-triggered)Addressed all three review findings: softened removal language for agents/ and skills/ to acknowledge embed and test dependencies, clarified that //go:embed covers the entire fullsend-repo/ tree, and fixed harness README to say 'should be kept in sync' instead of implying automated syncing. Fixed (3):
Tests: passed Updated by fullsend fix agent |
|
🤖 Finished Review · ✅ Success · Started 5:50 PM UTC · Completed 5:59 PM UTC |
|
/fs-review |
|
🤖 Finished Review · ✅ Success · Started 4:50 AM UTC · Completed 4:59 AM UTC |
Agent definitions, skills, and harness configs have moved to the fullsend-ai/agents repository. The copies under internal/scaffold/fullsend-repo/ are stale and will be removed.
Add an "Agent definitions and skills" section to AGENTS.md documenting the migration and listing the deprecated scaffold paths. Add README.md deprecation markers to each affected scaffold directory (agents/, skills/, harness/) so contributors encountering these files are redirected to the correct repo.
The harness/ README notes that those configs are still actively embedded via //go:embed and must remain in this repository, unlike agents/ and skills/ which are fully deprecated.
Closes #238
Post-script verification
agent/238-document-agent-content-migration)d8e3df7c018996e396c79b8ecd59e4145a628a6f..HEAD)