feat: web design-contract alignment, changed-line estimates, and architecture policy gate - #347
Conversation
…ns, estimate changed lines for large edits
…e skill Adds architecture-policy.yaml with a scripts/architecture checker (package boundary rules, file-name conventions) wired as the architecture:check flow, plus the governance skill: rule catalog, policy schema, golden-module contract references, and troubleshooting guide.
|
Important Review skippedToo many files! This PR contains 117 files, which is 17 over the limit of 100. To get a review, reduce the PR to 100 files or fewer by splitting it into smaller PRs or changing its base branch. Upgrade to a paid plan to raise the limit. ⚙️ Run configurationConfiguration used: Repository: PyModel/pythinker-code/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (117)
You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
commit: |
A slow Chrome start on the CI runner timed out after 15s, but the spawned process stayed alive and held the stderr pipe open, so the Artifact security job hung until the 45-minute job timeout. Kill Chrome on the launch timeout and allow 60s for a slow runner.
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated. # Releases ## @pymodel/pythinker-code@2.4.1 ### Patch Changes - [#352](#352) [`772e69a`](772e69a) Thanks [@elkaix](https://github.com/elkaix)! - Run tool calls that some models (such as DeepSeek) write as DSML or <tool_call> text instead of showing them as plain text. - [#352](#352) [`772e69a`](772e69a) Thanks [@elkaix](https://github.com/elkaix)! - Report an insufficient-balance response from OpenAI-compatible providers as a billing error instead of an authentication error. - [#349](#349) [`69cc714`](69cc714) Thanks [@elkaix](https://github.com/elkaix)! - Fix OpenCode Go requests failing with "Request is missing x-opencode-session". - [#352](#352) [`772e69a`](772e69a) Thanks [@elkaix](https://github.com/elkaix)! - Accept a vendor API key or base URL set in a provider's env table (for example ANTHROPIC_API_KEY or ANTHROPIC_BASE_URL) instead of ignoring it. ## @pymodel/pythinker-web@0.2.0 ### Minor Changes - [#347](#347) [`bca1910`](bca1910) Thanks [@elkaix](https://github.com/elkaix)! - Align the embedded terminal palette and workflow panel motion with the shared design token system. - [#347](#347) [`bca1910`](bca1910) Thanks [@elkaix](https://github.com/elkaix)! - Show estimated changed-line counts for large edits in session transcripts and file summaries instead of zero. - [#347](#347) [`bca1910`](bca1910) Thanks [@elkaix](https://github.com/elkaix)! - Use the shared type scale and corner radii on application surfaces. ## @pymodel/pythinker-desktop@1.5.1 ### Patch Changes - [#352](#352) [`772e69a`](772e69a) Thanks [@elkaix](https://github.com/elkaix)! - Run tool calls that some models (such as DeepSeek) write as DSML or <tool_call> text instead of showing them as plain text. - [#352](#352) [`772e69a`](772e69a) Thanks [@elkaix](https://github.com/elkaix)! - Report an insufficient-balance response from OpenAI-compatible providers as a billing error instead of an authentication error. - [#349](#349) [`69cc714`](69cc714) Thanks [@elkaix](https://github.com/elkaix)! - Fix OpenCode Go requests failing with "Request is missing x-opencode-session". - [#352](#352) [`772e69a`](772e69a) Thanks [@elkaix](https://github.com/elkaix)! - Accept a vendor API key or base URL set in a provider's env table (for example ANTHROPIC_API_KEY or ANTHROPIC_BASE_URL) instead of ignoring it. Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Requirement or Bug
Complete the web design-token rollout described in the design-system guide, make changed-line counts honest for large edits, and land the bounded-context architecture gate with its agent tooling. Closes #341 and its tickets #342–#346.
Code Changes
--terminal-*custom properties (12 roles across light, dark, and system-dark scopes) instead of two hardcoded hex palettes; theme switches now propagate through one source of truth.--color-workflow-*rail tokens plus the shared--wf-*motion scale; card/state transitions, a running-indicator pulse at the panel beat, label tracking, and automatic disable under reduced motion.font-sizedeclarations moved onto the--text-*scale (14 sites across workflow cards, dialogs, badges, keyboard hints, composer, first-run, recovery); attachment count pill resized to host scaled text; radius/shape/overlay drift fixed onto contract tokens; all verified in light, dark, system-dark, and mono accent.computeLineChangeStat(common prefix/suffix trim, row-array LCS, conservative fallback past a cell budget) withcomputeEditChangeStat; edit cards and file summaries now show~-marked estimates when a full diff is too expensive instead of+0/-0; only Write stays genuinely unknown. 13-case test coverage including trim, fallback, and large-file exactness.architecture-policy.yamlplusscripts/architecture/(package boundary rules, file-name conventions, golden-module contract, baseline) wired aspnpm architecture:check, with theyamlroot dependency declared and the governance skill (rule catalog, policy schema, troubleshooting).flake.nixpnpmDeps hash refreshed for the new dependency.Behavior Changes and Affected Users
pnpm architecture:checkgate and governance skill; four new agent skills; one new root dev dependency (yaml).Checklist
web-design-token-alignment,web-large-edit-diff-stats,web-surface-contract-alignment— minor)pnpm test— 17931 passed; the single failure is the documented environment-specific base case), web typecheck + build,architecture:checkcleanflake.nixworkspace sync and pnpmDeps hash verified