Skip to content

Commit e03f50f

Browse files
committed
docs: fix stale/broken architecture doc references after crate extraction
Several architecture docs pointed at source paths that moved during the homeboy-error / homeboy-engine-primitives crate extraction and the cli_surface directory split: - error 'Centralized error system' -> crates/homeboy-error/src/lib.rs - template system -> crates/homeboy-engine-primitives/src/template.rs - CapturedOutput primitive -> crates/homeboy-engine-primitives/src/command.rs - output parse primitive -> crates/homeboy-engine-primitives/src/output_parse.rs - src/cli_surface.rs -> src/cli_surface/ (now a directory) - project/component/overrides.rs -> src/core/project/component/overrides.rs Each updated reference notes the stable re-export path where relevant so readers (and agents) can still resolve the concept via crate::core::*. Clears 4 stale_doc_reference and 3 broken_doc_reference findings. The two remaining fuzz.md 'broken directory' findings are detector false positives (prose describing runtime/naming-convention dirs, not repo paths) tracked in #8343.
1 parent 1a435db commit e03f50f

5 files changed

Lines changed: 7 additions & 7 deletions

File tree

docs/architecture/core-runner-output-parse.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ stable while moving behavior to a reusable core primitive.
2020

2121
## Output parse primitive (core)
2222

23-
`src/core/engine/output_parse.rs`
23+
`crates/homeboy-engine-primitives/src/output_parse.rs` (re-exported as `crate::core::engine::output_parse`)
2424

2525
Generic parser with declarative rule spec:
2626

docs/architecture/output-system.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -286,7 +286,7 @@ Many command outputs include a `command` string field:
286286
Commands that execute external processes include captured output in their response
287287
when running in non-interactive mode.
288288

289-
The `CapturedOutput` primitive (`src/core/engine/command.rs`) provides:
289+
The `CapturedOutput` primitive (`crates/homeboy-engine-primitives/src/command.rs`, re-exported as `crate::core::engine::command`) provides:
290290
- `stdout`: Captured standard output (omitted if empty)
291291
- `stderr`: Captured standard error (omitted if empty)
292292

docs/config-precedence.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -162,6 +162,6 @@ The safe code consolidation for this investigation keeps the on-disk contract un
162162
| Consolidated code | Backward compatibility proof |
163163
| --- | --- |
164164
| `ComponentOverrideConfig` is the canonical field group for component override layers. It lives with component schema types and owns `apply_to_component()`, the one implementation of sparse override semantics for these fields. | `ProjectComponentOverrides` is a type alias, so existing `project.component_overrides` and `fleet.component_overrides` JSON keep the same keys and serde behavior. The config test `project_component_overrides_parse_existing_json_shape` parses the previous JSON shape and verifies every field resolves to the same effective component values. |
165-
| `project/component/overrides.rs` now composes ordered override layers by calling `apply_to_component()` for fleet then project, preserving the documented precedence. | Existing precedence tests still cover project override wins, project `cli_path` fallback, component `cli_path` wins over project fallback, and unset values preserving base component fields. |
165+
| `src/core/project/component/overrides.rs` now composes ordered override layers by calling `apply_to_component()` for fleet then project, preserving the documented precedence. | Existing precedence tests still cover project override wins, project `cli_path` fallback, component `cli_path` wins over project fallback, and unset values preserving base component fields. |
166166

167167
No migration or deprecation warning is included in this slice because the serialized config contract is intentionally identical. The remaining removals above require a migration/warning phase before deleting currently accepted config locations.

docs/internals/developer-guide/architecture-cleanup-map.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ in focused command-cleanup PRs.
88

99
Homeboy keeps the CLI layer thin:
1010

11-
- `src/cli_surface.rs` owns clap command shape, hidden compatibility aliases, and command-surface introspection.
11+
- `src/cli_surface/` owns clap command shape, hidden compatibility aliases, and command-surface introspection.
1212
- `src/command_contract/` owns command registry metadata, output families, and Lab portability contracts.
1313
- `src/commands/` maps parsed arguments to responses and delegates durable behavior.
1414
- `src/core/` owns reusable services, persistence, runner dispatch, artifact lifecycles, release/test/audit workflows, and extension contracts.
@@ -52,7 +52,7 @@ docs cleanup PR.
5252

5353
| Compatibility surface | Current owner | Current shape | Retirement criteria |
5454
| --- | --- | --- | --- |
55-
| Legacy placement aliases | `src/cli_surface.rs` | Rejected parser inputs with targeted migration errors. | None: product policy is zero legacy placement support. |
55+
| Legacy placement aliases | `src/cli_surface/` | Rejected parser inputs with targeted migration errors. | None: product policy is zero legacy placement support. |
5656
| Legacy component fields such as `build_command` | `src/commands/component.rs`, `src/core/extension/build/mod.rs`, `src/core/extension/capability.rs` | Rejected with targeted errors while modern config uses extension/build script contracts. | Remove parse-time compatibility handling after persisted configs have been migrated and error telemetry shows the legacy field is no longer encountered. |
5757
| Hidden JSON self-check flags | `src/commands/lint.rs`, `src/commands/test.rs`, `src/commands/review/mod.rs` | Hidden `--self-checks-json`-style command inputs used by internal checks. | Replace with explicit core/test harness contracts, then remove hidden flags once self-check callers are migrated. |
5858
| Legacy CLI aliases rejected by argument normalization | `src/commands/utils/args.rs` | Rejection tests protect known old aliases from silently routing. | Keep rejection coverage until the aliases are old enough to delete from compatibility messaging. |

docs/internals/developer-guide/architecture-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ file operations through the `local_files` adapter:
8787

8888
### Template System
8989

90-
**Location:** `src/core/engine/template.rs`
90+
**Location:** `crates/homeboy-engine-primitives/src/template.rs` (re-exported as `crate::core::engine::template`)
9191

9292
Variable substitution in templates:
9393
- Both `{var}` and `{{var}}` syntax supported
@@ -352,7 +352,7 @@ typed contracts.
352352

353353
## Error Handling
354354

355-
**Location:** `src/core/error/mod.rs`
355+
**Location:** `crates/homeboy-error/src/lib.rs` (re-exported as `crate::core::error`)
356356

357357
Centralized error system:
358358
- Error categories (validation, io, extension, etc.)

0 commit comments

Comments
 (0)