Completed AX remediation - #569
Open
spoenemann wants to merge 6 commits into
Open
spoenemann wants to merge 6 commits into
spoenemann wants to merge 6 commits into
Conversation
spoenemann
commented
Sep 9, 2026
Contributor
- Align design docs with the AX lifecycle and promote two invariants to tests
- Enable strict TypeScript, gate lint, and add structural sensors
- Close test coverage gaps (a lot more unit tests in *.spec.ts)
- Update changelogs and add sprotty-library community files
- Clean up examples code
- Complete the AX remediation roadmap
… tests Design docs are now kept true to the design as built: AGENTS.md couples a design change to a dated amendment in the same change, the index states the rule, and each doc gained Invariants (with enforcing spec or "no sensor") and Amendments sections. Two invariants got sensors: loadDefaultModules must not load the opt-in edge route postprocessor modules, and edge culling tests only the route bounding box by design. The stale SRoutableElement name is annotated, the level-of-detail statement is corrected (the framework enables it, adopters implement it), ARCHITECTURE.md keeps only invariants and pointers where it duplicated the rendering doc, and trust labels are re-dated after re-verification. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Works off the foundational items of the AX remediation roadmap: - tsconfig: strict mode on, strictPropertyInitialization deliberately off (reason recorded inline); the 35 resulting errors fixed in code. Public type changes: Deferred.resolve no longer has an optional parameter, and AnimationFrameSyncer tasks always receive a timestamp. - ESLint: every rule promoted to error, --max-warnings 0, no-op entries dropped, eslint-config-prettier / eslint-plugin-no-null / eslint-plugin-header removed. - New test/ directory with three structural sensors, each with a self-correction message: full license header, @injectFromBase() on subclasses of classes with injected members, and package layering (sprotty-protocol has no runtime deps, sprotty-elk confines inversify to src/inversify.ts). Wired into the build, root tsconfig, and lint. - publish.yml: vestigial dry-run input and the Test step condition removed; tests already gated publishing. - ADR-0003: dated addendum for dependency-forced removals; ADR-0007, ARCHITECTURE.md, and AGENTS.md updated for the new sensors. - Roadmap: shipped items checked off, four items closed as rejected or moved to the website repo, follow-ups recorded. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Add co-located specs for the untested feature modules (edit, expand, decoration, button, command-palette, fade, open, projection, undo-redo), the UI extension base and registry, and the pointer and touch tools. Give sprotty-library a tsconfig.test.json wired into the build and a flowchart spec that renders every registered element type. Coverage is sized to the contracts: command execute/undo/redo round-trips, feature guards, listener-to-action mappings, DI wiring, and the CSS markers views emit, without SVG path snapshots. Fix three defects the new specs exposed: TouchTool and the command palette provider registry folded with a reduce without initial value and threw on empty lists; ExpandButtonView bound class-enabled as a string literal, so the enabled class ignored the button state. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The v2.0.0 sections of the four package changelogs now cover everything merged since v1.4.0: ESM-only packaging (#515), InversifyJS 8 (#561, the #XXX placeholders resolved), the deprecated-API sweep (#566) with a per-symbol replacement list, touch and pointer support (#475, #488), the bug fixes, the strict-mode signature changes, and the npm/OIDC tooling moves (#534, #549). Headings read "(unreleased)"; the month is set at release. sprotty-library gains README.md, CHANGELOG.md, and LICENSE, which the published package lacked, and is listed in the root changelog index and README. The AX roadmap records the outcome; the v2 exec plan's deprecated-API item is closed against #566. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Delete the stale styles.css in custom-views-showcase (an older revision of diagram.css that nothing referenced), drop the duplicate id="sprotty-app" from multicore.html, rename multicore.ts to standalone.ts and the distributed random-graph page to random-graph-distributed.html so file names follow the examples convention, pass `context` instead of the container to configureModelElement in both random-graph di.configs, and remove the phantom "css" entry from sprotty-library's package files. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Move the plan to docs/exec-plans/completed/. The remaining open items are dropped by maintainer decision, except the ESLint 9 / flat-config migration, which moves to a new docs/exec-plans/tech-debt-tracker.md as tolerated, non-blocking debt; AGENTS.md points at the tracker. The examples-cleanup item no longer cites the css file it deleted, so the doc check passes again. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.