refactor(lab): объединить RAV004 в единый Rerun replay

This commit is contained in:
DCCONSTRUCTIONS
2026-08-30 16:40:12 +03:00
parent 9c5259dbc9
commit 81fdf6904a
18 changed files with 750 additions and 186 deletions
+12 -10
View File
@@ -249,8 +249,7 @@ vocabulary and executable contracts. They do not create a second runtime model.
- no upward imports from core/components into workspaces or App;
- no visual adapter imports from core;
- no local vendor icon library or direct Design Guideline source imports;
- LAB code and CSS remain outside the central workspace buckets;
- central composition files cannot silently return to their previous size.
- LAB code and CSS remain outside the central workspace buckets.
`test/laboratoryProductUi.test.mjs` additionally enforces the versioned LAB
report fields and shared result component across bounded LAB modules.
@@ -260,8 +259,9 @@ new unclassified experiment branches while allowing a declared bounded
experimental adapter. The gate protects core composition; it does not forbid a
novel research stack.
The line limits are ratchets, not quality targets. When a file reaches a limit,
split a feature; do not raise the limit to accommodate unrelated behavior.
File length is not an architectural boundary and is not enforced. Refactoring
is justified by ownership, cohesion, dependency direction, lifecycle or test
isolation, not by a line-count threshold.
From `apps/control-station` run:
@@ -273,13 +273,15 @@ npm run build
## Known bounded debt
- `App.tsx` remains a large shell orchestrator. Its current size is frozen by a
ratchet; future shell behavior must extract a controller/hook or panel module.
- `App.tsx` remains a large shell orchestrator. Future shell behavior should
preserve its orchestration ownership and extract modules only where they
acquire an independent responsibility or lifecycle.
- `Workspaces.tsx` still contains several established generic workspaces. New
domains must be separate modules, and existing ones may be extracted when
their behavior changes.
- `LaboratoryArchiveWorkspace.tsx` is now physically isolated but at its
ratchet. A3 receives its own component/module instead of growing that file.
domains should respect the existing dependency direction; extraction is a
design decision rather than a response to file length.
- `LaboratoryArchiveWorkspace.tsx` is physically isolated. Further LAB work
must preserve the feature boundary without imposing a size quota on the
implementation.
- Design Guideline dependencies are mutable local `file:` links until a
portable package/distribution decision is implemented.