Skip to content

Latest commit

 

History

History
272 lines (203 loc) · 8.69 KB

File metadata and controls

272 lines (203 loc) · 8.69 KB
title Architecture audit log
summary Running log of SOLID and clean-architecture findings on origin/main. The solid-architecture skill (audit mode) appends here; blockers are also filed as plans.
audit-from fe7141beb32f9f20d82476fd8d652e0f63d4e4ef

Architecture audit log

This file is maintained by the solid-architecture skill in audit mode.

Audit 2026-05-13 (range: 6af677fb..7464d273)

1 107 files; 425 Go/TS sources outside fixtures.

Resolved:

Tax:

Audit 2026-05-17 (range: 7464d273..b5a6d72)

Covered internal/rename, internal/index, mdsmith deps, mdsmith export. Tax: nonNegativeUTF16RuneLen copied privately in three packages; export from internal/mdtextplan/186.

Decision 2026-05-17 (plan/174)

plan/153 non-goal superseded

Plan 174 moved the workspace symbol index from internal/lsp/index to internal/index. Pure git mv; no logic changed. internal/schema already imported it from outside internal/lsp. mdsmith rename and mdsmith deps need it. The layering map forbids cmd/mdsmithinternal/lsp. internal/index must never import internal/lsp.

Audit 2026-05-19 (range: 7464d273..41e61a5)

131 Go files. Plans 154, 155, 174 green.

tax (2026-05-19)

nice-to-have (2026-05-19)

cue/types not in layering map — plan/206.

Audit 2026-05-31 (range: 4809097..37488a7)

Plans 200, 201, 202 green. Tax: plan/223 (pkg/mdsmith private helpers), plan/224 (internal/lint SRP, now 12 files). linkstyle helpers — add tests in-place.

nice-to-have (2026-06-02)

internal/punkt not in the layering map — plan/225. Separately, plan/224 (internal/lint SRP) is now implemented: gitignore, bytelimit, and piparser split into sibling packages.

Audit 2026-06-07 (range: 37488a7..82583fc)

Plans 203–225 green. Blocker: Session.CheckSource (public API) had no unit test. Fixed: added pkg/mdsmith/checksource_test.go with 4 tests. Tax: the tablereadability dedup and include helper test plans.

Audit 2026-06-14 (range: 82583fc..aed18aa)

Tax: build→rules DIP, engine wrappers, secreview tests.

Audit 2026-06-16 (range: aed18aa..7793b97)

Lazy-parse series (plans 2606141901–2606141904). Tax: new-pkg-docs, helper-tests.

Audit 2026-06-21 (range: 7793b97..e701b94)

Parity + Layer-0 parse-skip series. Symlink containment; engine panic recovery. VS Code kinds and rule-doc commands. 270 Go/TS sources. No blockers, rule-to-rule imports, or DIP violations.

tax (2026-06-21)

  • internal/engine/runner.go (1 290 lines) — SRP: 7 concerns. Fixed this cycle: split into runner_layer0.go, runner_cache.go, runner_log.goplan/2606211907.

  • internal/lint/layer0.go (1 203 lines) — full Layer-0 block scanner. Fix: split along block-type sub-parsers — plan/2606211908.

  • internal/lsp/server.go (1 007 lines) — crept back over 1 000 lines. Dispatch-group split — plan/2606211909.

nice-to-have (2026-06-21)

  • pkg/mdsmith/workspace.go trivial methods lack "// no test by design" exemptions — plan/2606211910.

Audit 2026-06-23 (range: e701b94..1599c9f)

Performance + struct-alignment series; inline scanner refinements; benchmark additions. No TypeScript changes. 273 Go sources outside fixtures.

No blockers. No rule-to-rule imports added. No DIP violations. New files are under 800 lines. Struct alignment and map[string]struct{} changes are mechanical rewrites with no layering impact.

tax (2026-06-23)

  • internal/lint/inline_scan.go — 13 unexported helpers lack dedicated unit tests. Tests doc §"every function by name" — plan/2606231013.

  • internal/rules/samefileanchor/rule.go — 12 unexported helpers lack dedicated unit tests — plan/2606231014.

Audit 2026-06-24 (range: 1599c9f..09f22d3)

Perf series (struct-alignment, Sprintf→strconv, []byte FindSubmatch, Builder). Plans 2606231013 and 2606231014 closed. Benchmark docs and security SARIF retired. No TypeScript changes. 273 Go sources outside fixtures.

No blockers. No rule-to-rule imports. No DIP violations. No file crossed 1 000 lines.

tax (2026-06-24)

  • internal/index/locate.go — 12 unexported helpers lack dedicated unit tests. Tests doc §"every function by name" — plan/2606240211.

  • internal/lsp/rename.go — 15 unexported helpers lack dedicated unit tests. Tests doc §"every function by name" — plan/2606240212.

  • internal/export/export.go — 11 unexported helpers lack dedicated unit tests. Tests doc §"every function by name" — plan/2606240213.

  • internal/lsp/rename.go and internal/rename/rename.gonormalizedLabel and refDefBracketBytes are duplicated. Both have identical bodies. Hub §"Anti-patterns" — plan/2606240214.

  • internal/rules/concisenessscoring/rule.go and internal/rename/rename.gocountClassifierTokens and contentBlockLines lack dedicated unit tests. Batched into plan/2606240213.

nice-to-have (2026-06-24)

  • internal/index/locate.goisGlobPattern is a trivial one-liner with no branch. Add "// no test by design" so the audit can distinguish it from forgotten test debt.

Audit 2026-06-24 (range: 09f22d3..3d35b77)

Plans 2606241814/2606241815 green. No DIP, SRP, or line-count violations.

Audit 2026-06-26 (range: 3d35b77..fe7141b)

Go 1.25.11 + x/net CVE bumps; five perf fixes (map→struct, fmt→strconv); type-6 tag gap fix; plan-2606241814/15 test additions. No new production functions, DIP, SRP, or line-count violations.

tax (2026-06-26)

  • internal/lint/layer0_html.go — seven helpers lack dedicated tests. File entered the touched set via a perf commit. Tests doc §"every function by name" — plan/2606260211.

  • internal/lint/lineclass_scan.go — 9 unexported helpers lack tests. Sub-functions of htmlType7Startplan/2606260614.

  • cue/cuelite/engine.go — 7 unexported helpers lack tests — plan/2606260615.