Repository navigation
1MSG-156: enforce strict CLI quality and architecture gates - #5
Draft
alibek-seksenali wants to merge 9 commits into
Draft
alibek-seksenali wants to merge 9 commits into
alibek-seksenali wants to merge 9 commits into
Conversation
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.
Adopt the full 1MSG-156 TypeScript quality profile with strict indexed/optional-property checks, typed ESLint, dependency boundaries, production/full Knip graphs, duplication and complexity ratchets, documented changed functions, frozen installs and a fail-closed required CI aggregate.
Commander actions now preserve typed argument tuples through an explicit adapter. Flow command registration, sticker sending and channel inspection have their own modules; shared channel-status output removes duplicate behavior. Request builders omit absent optional fields rather than sending undefined values.
Historical debt is measured against the adoption base and recorded per finding with owner, task link and expiry; new or larger findings fail. Sealed shared preset 1.0.11 has integrity checks, and negative fixtures exercise actual typed-lint and cycle detection.
Validation: strict typecheck, static/typed lint, dependency-cruiser, both Knip graphs, production/full duplication checks, complexity ratchet, behavioral tests, build, packed CLI --help smoke, formatting and negative fixtures all pass locally. GitHub Actions will independently run the required aggregate. No release or merge was performed.
Task: https://plane.1msg.io/1msg/browse/1MSG-156/
Current source-coverage checkpoint
ca75cc4c9a5c918a10d482e716075d772057d65eenforces actual static and typed lint in pre-commit for JS/JSX/MJS/CJS and TS/TSX/MTS/CTS, with strict source-program membership for runtime and tooling. Real disposable commits prove intended diagnostics and successful corrected commits. Both Knip graphs inventory new extensions and distinguish runtime reachable only from tests. Dependency-cruiser resolves the same extensions.Local validation passed: all applicable formatting/static/typed/typecheck/architecture/complexity/Knip/duplicate gates, actual hook fixtures, behavioral tests, build and packed-entrypoint smoke. Historical allowances and metadata are unchanged. Sealed preset 1.0.11 retains its prior 52-test proof. Hosted Quality and its required aggregate passed on this commit.
Draft PR only; no merge, release, publication or deployment. Server-side required-check enforcement is separate from aggregate success.
Latest contract checkpoint
e8db3e30590b4a6dfab558371a64f088dd225543runs the previously producer-only operation/RFC tests in a standalone checkout. The public contract and RFC are pinned to producer commit 888ee40a635ab19dbff4c101b8d4329790c7254f with byte checksums; missing/altered inputs fail. All 8 suites / 107 tests pass without skips. Static/typed/strict/compiler, real Knip extension/test-only fixtures, maintainability/clones and source guards pass. The production graph now omits the dedicated test directory while the full graph retains it; one obsolete test-helper allowance was removed and all remaining baseline metadata is unchanged. The actual hook and source hashes pass. Hosted CI is pending for this new SHA.Latest hosted verification
The required quality aggregate passed on current commit
e8db3e30590b4a6dfab558371a64f088dd225543: GitHub Actions. This is validation of the declared repository scope and existing debt ratchets; it does not mean that historical debt is zero. The PR remains open and unmerged.Suppression scanner and hook correction
Commit
52818ad47e50af251efb219a3c35de24c8198e04adopts sealed preset 1.0.12. Parsed template/regex/JSX tokens prevent false directive reports and preserve real suppression checks within expressions and after templates. All 57 shared regression tests pass, including the real guard CLI and staged-file coverage tests. The complete seal was verified and historical baseline files were unchanged.The actual installed pre-commit fixture passes: invalid authored extensions are rejected and corrected sources are accepted. A coverage preflight validates declared generated files and the sealed preset before ESLint suppresses ignored-file warnings; arbitrary authored ignores still fail.
The real commit hook passed without altering verified source hashes. Hosted checks must pass on this commit; earlier successes do not certify this new head. Existing incomplete adoption and addressed exceptions remain as documented.
Release readiness — 2026-10-15
Fresh tarball installs and executable startup pass with engine-strict on Node 18/20/22/24. Original >=18 engine contract restored; Node 24 remains the quality/build toolchain.
No merge, deployment, package publication, release tag or production configuration change was performed. This does not close remaining historical quality/architecture debt.