Skip to content

1MSG-156: enforce MCP quality and generated contract replay - #2

Draft
alibek-seksenali wants to merge 11 commits into
mainfrom
codex/1msg-156-quality-standard
Draft

alibek-seksenali wants to merge 11 commits into
mainfrom
codex/1msg-156-quality-standard

Conversation

@alibek-seksenali

@alibek-seksenali alibek-seksenali commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

Adopt the strict 1MSG-156 authored TypeScript quality profile: checked indexed/optional properties, typed ESLint, runtime dependency boundaries, production/full Knip, duplication and complexity ratchets, and comments for changed functions. Shared preset 1.0.11 is sealed and checks its inventory; CI uses frozen installs and a fail-closed quality-required aggregate.

Generated MCP tools and handlers now replay the actual pinned API producer, public contract and generated SDK signatures in an isolated directory. Complete output inventory detects changed, deleted and ignored/untracked files. Numeric media IDs remain supported; handler argument/body mappings are preserved.

Known compatibility exception: the currently published @1msg/sdk 1.0.3 has 18 pre-existing parameter-list differences from the contract signatures used by existing MCP handlers. quality/mcp/sdk-compatibility-exception.json records each operation, both parameter lists, owner, task and 2026-12-11 deadline. Replay rejects any new or removed mismatch and expiry. A reviewed SDK release/dependency update is still needed; this PR does not claim wire compatibility for these operations or publish a package.

Validation: all local authored quality gates, behavioral tests, build, packed public entrypoint smoke, actual generation replay, changed/deleted/untracked negative fixtures and typed-lint/cycle negative fixtures pass. Per-finding historical baselines cannot increase. GitHub branch protection is an external repository setting; the aggregate job alone does not enable it. No merge or release performed.

Task: https://plane.1msg.io/1msg/browse/1MSG-156/

Current source-coverage checkpoint 0c162b5e6e2c8e2a8561dc231605ddaaf74e0f95 enforces 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. Generator replay and drift-negative fixtures pass.

Draft PR only; no merge, release, publication or deployment. Server-side required-check enforcement is separate from aggregate success.

Latest test-lifecycle checkpoint e0781c0d56372157818ba98684f4e33ecd34610b removes forced Jest exit and uses the strict NodeNext quality program with isolated module compilation. All 12 suites / 52 tests pass under --detectOpenHandles and the process terminates naturally; no compiler warnings remain. Strict typecheck, typed lint, installed-hook fixtures and source guards pass. The actual commit hook preserves verified source bytes. Hosted CI is pending for this new SHA.

Latest hosted verification

The required quality aggregate passed on current commit e0781c0d56372157818ba98684f4e33ecd34610b: 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 2ced9956958af85d0fd371b1202cd6d4bbaa80a1 adopts 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

Final non-root Docker image passes startup, health/ready, auth rejection, initialize and stale-session tools/list with networking disabled. Fresh engine-strict consumer installs pass on Node 18/20/22/24. Docker uses npm ci without a non-frozen fallback.

No merge, deployment, package publication, release tag or production configuration change was performed. This does not close remaining historical quality/architecture debt.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant