Repository navigation
DYN-10982: Add area READMEs and cap the agent instruction files - #17386
QilongTang wants to merge 1 commit into
Conversation
Area orientation: add README.md to src/DynamoCore, src/Engine and src/Libraries. Each gives the area's scope, its main subfolders and projects, the files to open first, where its tests live and which contracts apply (PublicAPI files, NuGet packages, .dyn format, node help files). Dependencies are taken from the csproj ProjectReferences. They link to AGENTS.md sections (Running a Single Test, Blast Radius, Node Registration Patterns) instead of restating them. AGENTS.md Architecture and the Copilot Project Structure section point at them. Copilot headroom: .github/copilot-instructions.md is always loaded and had grown to 245 lines. Cut it to 197 by replacing the Node Registration code samples, the debugging quick-start detail and the Blast Radius detail with short summaries that link to the matching AGENTS.md section, and by folding small subsections together. Every dotnet/msbuild line, the PublicAPI project list and the security, PublicAPI, localization and CPM rules are unchanged. Also fix the Contributing Guide link (it resolved to .github/CONTRIBUTING.md) and add the missing final newline. Line budget: check_instruction_drift.ps1 now also fails when AGENTS.md or copilot-instructions.md exceeds 250 lines ($maxInstructionLines), counted like wc -l, and reports both counts and their headroom in -Report and the step summary. Also correct two existing errors in both instruction files: the UI test folders are DynamoCoreWpf2Tests/DynamoCoreWpf3Tests (not DynamoCoreWpfTests2/3), and the Copilot skills list now includes dynamo-release-notes. Co-Authored-By: Claude Opus 5.5 <[email protected]>
There was a problem hiding this comment.
See the ticket for this pull request: https://autodesk.atlassian.net/browse/DYN-10982
There was a problem hiding this comment.
🟢 Approval recommended
The documentation matches the repository structure, and the line-budget gate is consistent with the stated requirements.
0 open findings
What changed in this PR
Adds concise subsystem orientation docs and caps always-loaded agent instructions at 250 lines.
Changes:
- Adds READMEs for DynamoCore, Engine, and Libraries.
- Condenses Copilot guidance while preserving key rules.
- Extends instruction-drift CI checks with line budgets.
| File | Description |
|---|---|
src/DynamoCore/README.md |
Documents core architecture, tests, and contracts. |
src/Engine/README.md |
Maps runtime projects, dependencies, and tests. |
src/Libraries/README.md |
Documents built-in node projects and packaging. |
AGENTS.md |
Links area READMEs and corrects test project names. |
.github/copilot-instructions.md |
Condenses guidance and fixes references. |
.github/scripts/check_instruction_drift.ps1 |
Enforces and reports 250-line limits. |
🧠 Review effort: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
|
Status update, now that #17370 has merged. #17370 added 8 lines to This PR fixes that and keeps it from happening again:
The branch still merges cleanly onto the current |



Purpose
DYN-10982 follow-up to #17379. The 2026-10-07 Agent-Friendly Codebase audit of
masternoted two documentation gaps that #17379 didn't cover:src/DynamoCore,src/Engineandsrc/Librarieshave no local orientation. The area map exists only in the on-demanddynamo-onboardingskill..github/copilot-instructions.md, which Copilot always loads, was 244 lines, just under the 250-line limit the audit applies.This PR adds area READMEs and gives the Copilot file headroom that a gate now protects. No production code changes.
Key changes:
README.mdinsrc/DynamoCore/,src/Engine/andsrc/Libraries/(26–28 lines each). Each covers what the area is and isn't, its main projects, the files to open first, where its tests live, and which contracts apply. Each links to the matchingAGENTS.mdsections (Running a Single Test, Blast Radius, Node Registration Patterns, Proof Checklist) instead of copying them..csprojProjectReferences; nothing insrc/Enginereferences DynamoCore.AGENTS.md§ Architecture and the Copilot Project Structure section point to the READMEs.AGENTS.mdsection.dotnet/msbuildline, the PublicAPI project list, and the security, PublicAPI, localization and CPM rules are unchanged.check_instruction_drift.ps1: the gate now also fails ifAGENTS.mdorcopilot-instructions.mdgoes over 250 lines (one$maxInstructionLinesvariable), counted likewc -l. It reports both counts and their headroom in-Reportand the step summary.DynamoCoreWpf2Tests/DynamoCoreWpf3Tests, notDynamoCoreWpfTests2/3; fixed in both instruction files.dynamo-release-notes..github/CONTRIBUTING.md.Declarations
Check these if you believe they are true
Release Notes
N/A
Reviewers
@DynamoDS/eidos
Notes to reviewers:
The PowerShell change hasn't been run locally, because the authoring machine has no pwsh. Both checks (command/PublicAPI parity and the new line budget) were re-implemented in Python and run on the edited files:
dotnet/msbuildlines and the same four PublicAPI projects in both files;AGENTS.md199/250 and the Copilot file 197/250;CI's "Validate AGENTS.md / copilot-instructions.md Parity" job runs the real script on this PR.
Every relative link and anchor in the changed files resolves, and every path named in the READMEs exists.
The unit-tests-in-CI gap is still left to DYN-10984: Run engine tests (ProtoTest) in GitHub Actions #17370.
FYIs
🤖 Generated with Claude Code