invar-tools 1.15.6__tar.gz → 1.16.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- invar_tools-1.16.0/.github/workflows/claude-code-review.yml +57 -0
- invar_tools-1.16.0/.github/workflows/claude.yml +50 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/CHANGELOG.md +6 -1
- {invar_tools-1.15.6 → invar_tools-1.16.0}/PKG-INFO +1 -1
- invar_tools-1.16.0/docs/proposals/DX-83-multi-agent-subagent-support.md +1238 -0
- invar_tools-1.16.0/docs/proposals/LX-11-cursor-support.md +570 -0
- invar_tools-1.16.0/docs/proposals/LX-13-typescript-runtime-optimization.md +886 -0
- invar_tools-1.16.0/docs/proposals/LX-15-typescript-guard-parity.md +517 -0
- invar_tools-1.16.0/docs/proposals/LX-16-typescript-guard-remaining-gap.md +420 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/LX-06-typescript-tooling.md +50 -14
- invar_tools-1.16.0/docs/proposals/completed/LX-12-typescript-contract-enforcement.md +612 -0
- invar_tools-1.16.0/docs/proposals/completed/LX-14-typescript-doctest-execution.md +368 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/index.md +7 -2
- {invar_tools-1.15.6 → invar_tools-1.16.0}/pyproject.toml +6 -5
- {invar_tools-1.15.6 → invar_tools-1.16.0}/scripts/embed_node_tools.py +141 -12
- invar_tools-1.16.0/src/invar/node_tools/.gitignore +17 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/node_tools/MANIFEST +1 -0
- invar_tools-1.16.0/src/invar/node_tools/eslint-plugin/cli.js +117 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/init.py +2 -1
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/prove/guard_ts.py +25 -3
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/templates.py +44 -6
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/.gitignore +3 -0
- invar_tools-1.16.0/typescript/doctest.config.json +7 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/package.json +2 -1
- invar_tools-1.16.0/typescript/packages/eslint-plugin/CONFIGURATION.md +726 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/EXAMPLES.md +932 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/eslint-plugin/package.json +13 -3
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/cli.ts +138 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/index.ts +111 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/behavior.test.ts +1391 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/e2e-scenarios.test.ts +450 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/fixtures/core/function-lengths.ts +143 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/fixtures/core/has-io-imports.ts +19 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/fixtures/core/valid-small.ts +29 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/fixtures/exported-functions.ts +48 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/fixtures/shell/with-io.ts +31 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/__tests__/fixtures/tests/large.test.ts +262 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/max-file-lines.ts +119 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/max-function-lines.ts +152 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/no-empty-schema.ts +83 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/no-impure-calls-in-core.ts +62 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/eslint-plugin/src/rules/no-io-in-core.ts +5 -1
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/no-pure-logic-in-shell.ts +206 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/no-redundant-type-schema.ts +114 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/no-runtime-imports.ts +82 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/require-complete-validation.ts +127 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/eslint-plugin/src/rules/require-jsdoc-example.ts +33 -7
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/eslint-plugin/src/rules/require-schema-validation.ts +147 -3
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/shell-complexity.ts +263 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/rules/thin-entry-points.ts +207 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/utils/layer-detection.ts +110 -0
- invar_tools-1.16.0/typescript/packages/eslint-plugin/src/utils/math-example.ts +31 -0
- {invar_tools-1.15.6/typescript/packages/ts-analyzer → invar_tools-1.16.0/typescript/packages/eslint-plugin}/tsconfig.json +2 -1
- invar_tools-1.16.0/typescript/scripts/generate-doctests.mjs +307 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/vitest.config.ts +4 -1
- invar_tools-1.15.6/.serena/cache/python/document_symbols.pkl +0 -0
- invar_tools-1.15.6/.serena/cache/python/raw_document_symbols.pkl +0 -0
- invar_tools-1.15.6/tests/experiments/dx74_attention_drift/scenario_v4/.serena/cache/python/document_symbols.pkl +0 -0
- invar_tools-1.15.6/tests/experiments/dx74_attention_drift/scenario_v4/.serena/cache/python/raw_document_symbols.pkl +0 -0
- invar_tools-1.15.6/typescript/packages/eslint-plugin/node_modules/.bin/acorn +0 -17
- invar_tools-1.15.6/typescript/packages/eslint-plugin/node_modules/.bin/eslint +0 -17
- invar_tools-1.15.6/typescript/packages/eslint-plugin/node_modules/.bin/tsc +0 -17
- invar_tools-1.15.6/typescript/packages/eslint-plugin/node_modules/.bin/tsserver +0 -17
- invar_tools-1.15.6/typescript/packages/eslint-plugin/src/index.ts +0 -61
- invar_tools-1.15.6/typescript/packages/fc-runner/node_modules/.bin/tsc +0 -17
- invar_tools-1.15.6/typescript/packages/fc-runner/node_modules/.bin/tsserver +0 -17
- invar_tools-1.15.6/typescript/packages/quick-check/node_modules/.bin/acorn +0 -17
- invar_tools-1.15.6/typescript/packages/quick-check/node_modules/.bin/eslint +0 -17
- invar_tools-1.15.6/typescript/packages/quick-check/node_modules/.bin/tsc +0 -17
- invar_tools-1.15.6/typescript/packages/quick-check/node_modules/.bin/tsserver +0 -17
- invar_tools-1.15.6/typescript/packages/ts-analyzer/node_modules/.bin/tsc +0 -17
- invar_tools-1.15.6/typescript/packages/ts-analyzer/node_modules/.bin/tsserver +0 -17
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.aider.conf.yml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/commands/audit.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/commands/guard.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/PostToolUse.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/PreToolUse.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/Stop.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/UserPromptSubmit.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/invar.PostToolUse.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/invar.PreToolUse.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/invar.Stop.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/hooks/invar.UserPromptSubmit.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/acceptance/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/develop/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-onboard/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-onboard/patterns/python.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-onboard/patterns/typescript.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-onboard/templates/assessment.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-onboard/templates/roadmap.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-reflect/CONFIG.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-reflect/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/invar-reflect/template.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/investigate/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/propose/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/review/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/security/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/security/patterns/_common.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/security/patterns/python.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.claude/skills/security/patterns/typescript.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.cursorrules +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.github/workflows/ci.yml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.github/workflows/publish.yml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.gitignore +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/archive/sessions-2025-12.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/context.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/examples/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/examples/conftest.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/examples/contracts.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/examples/core_shell.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/examples/functional.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/examples/workflow.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/feedback/feedback-2026-01-03.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/mcp-setup.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/project-additions.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.invar/proposals/TEMPLATE.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.mcp.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.pre-commit-config.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.serena/.gitignore +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/.serena/project.yml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/CLAUDE.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/INVAR.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/LICENSE +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/LICENSE-GPL +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/NOTICE +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/.nojekyll +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/agents.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/design.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/diagrams.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/guide.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/guides/aider.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/guides/cline.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/guides/continue.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/guides/cursor.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/guides/multi-agent.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/guides/pi.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/decisions-2024.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/feedback/compliance-analysis.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/feedback/feedback-memo.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/feedback/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/original-vision.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/protocol-evolution.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/history/research/cruxeval-quick-validation.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/index.html +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/logo.svg +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-23-entry-point-detection.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-25-functional-patterns.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-29-pure-content-detection.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-38-contract-quality-rules.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-60-structured-rules-ssot.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-61-functional-pattern-guidance.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-61-implementation-design.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-62-proactive-reference-reading.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-68-agent-behavior-optimization.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-74-experiment-report.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-75-attention-aware-framework.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-78-mcp-protocol-sync.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-79-invar-usage-feedback.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-80-guard-cli-mcp-alignment.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/DX-81-multi-agent-init.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/LX-01-multi-language-feasibility.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/LX-04-pi-agent-support.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/LX-07-extension-skills.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/LX-08-extension-skills-future.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/LX-09-legacy-onboarding.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/2024-12-21-guard-enhancements.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/2024-12-21-language-inspired-enhancements.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/2024-12-21-test-first-enhancement.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/2025-12-21-dx-improvements.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/2025-12-23-dx-20-property-testing-enhancements.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/2025-12-23-dx-21-package-and-init.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/AGENT-IMPROVEMENTS.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-11-documentation-restructure.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-12-hypothesis-fallback.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-13-incremental-prove.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-14-expanded-prove-usage.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-16-agent-tool-enforcement.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-17-workflow-enforcement.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-22-verification-strategy.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-24-mechanism-documentation.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-26-guard-simplification.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-27-system-prompt-protocol.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-28-semantic-verification.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-30-visible-workflow.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-31-adversarial-reviewer.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-32-workflow-iteration.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-33-verification-blind-spots.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-34-review-cycle.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-35-workflow-phase-separation.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-36-documentation-restructuring.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-37-coverage-integration.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-39-workflow-efficiency.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-40-smart-tool-redirect-hook.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-41-automatic-review-orchestration.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-42-workflow-auto-routing.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-43-cross-platform-distribution.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-45-template-consistency.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-46-documentation-audit.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-47-command-skill-naming.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-48-code-structure-reorganization.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-49-protocol-distribution-unification.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-50-workflow-enforcement.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-51-workflow-phase-visibility.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-52-venv-dependency-injection.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-53-review-loop-effectiveness.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-54-agent-native-context-management.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-55-claude-init-conflict-resolution.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-56-template-sync-unification.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-57-claude-code-hooks.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-58-document-structure-optimization.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-63-contracts-first-enforcement.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-64-version-display-unification.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-65-single-file-guard.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-66-escape-hatch-visibility.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-67-explicit-skill-invocation.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-69-project-uninstall.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-70-init-simplification.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-70-review-isolation.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-71-skill-command-simplification.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-72-mandatory-self-review-detection.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-74-tiered-attention-defense.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-76-structured-document-query.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/DX-77-mcp-doc-tools-enhancements.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/LX-02-agent-portability-analysis.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/LX-03-multi-agent-support.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/LX-05-language-agnostic-protocol.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/LX-06-appendix-guard-comparison.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/LX-09-legacy-onboarding.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/proposals/completed/LX-10-typescript-size-limits.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/agent-information-hierarchy.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/architecture/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/contracts/advanced.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/contracts/completeness.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/contracts/doctests.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/contracts/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/contracts/pre-post.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/documentation.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/proposal-workflow.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/rules/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/rules/severity.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/verification/crosshair-vs-hypothesis.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/verification/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/verification/smart-routing.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/workflow/index.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/workflow/session-start.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/reference/workflow/usbv.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/terminal-gif-guide.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/test-reports/DX-55-test-report.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/test-reports/DX-56-test-report.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/test-reports/DX-58-test-scenario.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/testing/v1.5.0-stress-test.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/testing/v1.5.0-test-report.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/testing/v1.5.0-workflow-compliance.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/docs/vision.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/LICENSE +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/pyproject.toml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/src/invar_runtime/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/src/invar_runtime/contracts.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/src/invar_runtime/decorators.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/src/invar_runtime/invariant.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/src/invar_runtime/relations.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/runtime/src/invar_runtime/resource.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/scripts/smart-guard.sh +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/core/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/contracts.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/doc_edit.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/doc_parser.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/entry_points.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/extraction.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/feedback.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/format_specs.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/format_strategies.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/formatter.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/hypothesis_strategies.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/inspect.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/lambda_helpers.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/language.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/models.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/must_use.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/parser.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/detector.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/p0_exhaustive.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/p0_literal.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/p0_newtype.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/p0_nonempty.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/p0_validation.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/registry.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/patterns/types.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/postcondition_scope.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/property_gen.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/purity.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/purity_heuristics.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/references.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/review_trigger.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/rule_meta.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/rules.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/shell_analysis.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/shell_architecture.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/strategies.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/suggestions.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/sync_helpers.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/tautology.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/template_helpers.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/template_parser.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/timeout_inference.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/trivial_detection.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/ts_parsers.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/ts_sig_parser.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/utils.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/core/verification_routing.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/mcp/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/mcp/__main__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/mcp/handlers.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/mcp/server.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/node_tools/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/node_tools/fc-runner/cli.js +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/node_tools/quick-check/cli.js +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/node_tools/ts-analyzer/cli.js +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/node_tools/ts-query.js +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/py.typed +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/claude_hooks.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/doc.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/feedback.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/guard.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/hooks.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/merge.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/mutate.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/perception.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/skill.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/sync_self.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/template_sync.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/test.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/uninstall.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/commands/update.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/config.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/contract_coverage.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/coverage.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/doc_tools.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/fs.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/git.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/guard_helpers.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/guard_output.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/mcp_config.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/mutation.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/pattern_integration.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/pi_hooks.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/pi_tools.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/property_tests.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/prove/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/prove/accept.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/prove/cache.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/prove/crosshair.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/prove/hypothesis.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/py_refs.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/skill_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/subprocess_env.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/template_engine.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/testing.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/shell/ts_compiler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/CLAUDE.md.template +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/python/critical-rules.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/python/quick-reference.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/typescript/critical-rules.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/typescript/quick-reference.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/universal/check-in.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/universal/skills.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/universal/tool-selection.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/claude-md/universal/workflow.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/commands/audit.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/commands/guard.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/config/AGENT.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/config/CLAUDE.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/config/context.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/config/pre-commit.yaml.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/context.md.template +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/python/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/python/conftest.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/python/contracts.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/python/core_shell.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/python/functional.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/python/workflow.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/typescript/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/typescript/contracts.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/typescript/core_shell.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/typescript/functional.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/typescript/patterns.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/examples/typescript/workflow.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/hooks/PostToolUse.sh.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/hooks/PreToolUse.sh.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/hooks/Stop.sh.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/hooks/UserPromptSubmit.sh.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/hooks/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/hooks/pi/invar.ts.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/manifest.toml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/onboard/assessment.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/onboard/patterns/python.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/onboard/patterns/typescript.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/onboard/roadmap.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/pi-tools/invar/index.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/proposal.md.template +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/INVAR.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/python/architecture-examples.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/python/contracts-syntax.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/python/markers.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/python/tools.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/python/troubleshooting.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/typescript/architecture-examples.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/typescript/contracts-syntax.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/typescript/markers.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/typescript/tools.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/typescript/troubleshooting.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/architecture.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/completion.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/contracts-concept.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/header.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/session.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/six-laws.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/usbv.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/protocol/universal/visible-workflow.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/develop/SKILL.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/_registry.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/acceptance/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/invar-onboard/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/invar-onboard/patterns/python.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/invar-onboard/patterns/typescript.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/invar-onboard/templates/assessment.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/invar-onboard/templates/roadmap.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/security/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/security/patterns/_common.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/security/patterns/python.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/extensions/security/patterns/typescript.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/invar-reflect/CONFIG.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/invar-reflect/SKILL.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/invar-reflect/template.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/investigate/SKILL.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/propose/SKILL.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/invar/templates/skills/review/SKILL.md.jinja +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/src/shell/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/conftest.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/conftest.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/RESULTS.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/RESULTS_V2.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/RESULTS_V4.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/ground_truth.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/prompts.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario/api_client.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario/auth_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario/config_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario/data_processor.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario/file_handler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario/utils.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v2/analytics_engine.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v2/ground_truth.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v2/inventory_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v2/notification_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v2/order_processor.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v2/payment_gateway.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v2/user_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v3/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v3/cache_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v3/calculator.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v3/data_processor.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v3/ground_truth.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v3/user_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v3/validator.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/.serena/.gitignore +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/.serena/project.yml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/config_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/data_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/ground_truth.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/math_utils.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/report_generator.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v4/user_auth.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/api_gateway.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/auth_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/cache_handler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/config_loader.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/data_validator.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/ground_truth.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/metrics_collector.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/notification_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/payment_processor.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/report_builder.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/task_scheduler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/user_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v5/utils.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/api_gateway.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/auth_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/cache_handler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/config_loader.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/data_validator.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/ground_truth.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/metrics_collector.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/notification_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/payment_processor.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/report_builder.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/task_scheduler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/user_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v6/utils.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v7/api_service.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v7/auth_manager.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v7/data_processor.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v7/ground_truth.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v7/report_engine.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v7/storage_handler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/experiments/dx74_attention_drift/scenario_v7/utils.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/__init__.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_cli_flags.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_dx55_regression.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_dx56_sync.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_dx78_ts_compiler.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_lx05_detection.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_lx05_integration.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_lx05_templates.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_lx06_typescript.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_lx07_skills.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/integration/test_mcp_doc_tools.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/tests/test_subprocess_env.py +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/README.md +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/eslint-plugin/src/rules/no-any-in-schema.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/eslint-plugin/src/rules/shell-result-type.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/fc-runner/package.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/fc-runner/src/cli.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/fc-runner/src/index.ts +0 -0
- {invar_tools-1.15.6/typescript/packages/eslint-plugin → invar_tools-1.16.0/typescript/packages/fc-runner}/tsconfig.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/quick-check/package.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/quick-check/src/cli.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/quick-check/src/index.ts +0 -0
- {invar_tools-1.15.6/typescript/packages/fc-runner → invar_tools-1.16.0/typescript/packages/quick-check}/tsconfig.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/ts-analyzer/package.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/ts-analyzer/src/cli.ts +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/packages/ts-analyzer/src/index.ts +0 -0
- {invar_tools-1.15.6/typescript/packages/quick-check → invar_tools-1.16.0/typescript/packages/ts-analyzer}/tsconfig.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/pnpm-workspace.yaml +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/scripts/bundle.mjs +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/typescript/tsconfig.base.json +0 -0
- {invar_tools-1.15.6 → invar_tools-1.16.0}/uv.lock +0 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
name: Claude Code Review
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
pull_request:
|
|
5
|
+
types: [opened, synchronize]
|
|
6
|
+
# Optional: Only run on specific file changes
|
|
7
|
+
# paths:
|
|
8
|
+
# - "src/**/*.ts"
|
|
9
|
+
# - "src/**/*.tsx"
|
|
10
|
+
# - "src/**/*.js"
|
|
11
|
+
# - "src/**/*.jsx"
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
claude-review:
|
|
15
|
+
# Optional: Filter by PR author
|
|
16
|
+
# if: |
|
|
17
|
+
# github.event.pull_request.user.login == 'external-contributor' ||
|
|
18
|
+
# github.event.pull_request.user.login == 'new-developer' ||
|
|
19
|
+
# github.event.pull_request.author_association == 'FIRST_TIME_CONTRIBUTOR'
|
|
20
|
+
|
|
21
|
+
runs-on: ubuntu-latest
|
|
22
|
+
permissions:
|
|
23
|
+
contents: read
|
|
24
|
+
pull-requests: read
|
|
25
|
+
issues: read
|
|
26
|
+
id-token: write
|
|
27
|
+
|
|
28
|
+
steps:
|
|
29
|
+
- name: Checkout repository
|
|
30
|
+
uses: actions/checkout@v4
|
|
31
|
+
with:
|
|
32
|
+
fetch-depth: 1
|
|
33
|
+
|
|
34
|
+
- name: Run Claude Code Review
|
|
35
|
+
id: claude-review
|
|
36
|
+
uses: anthropics/claude-code-action@v1
|
|
37
|
+
with:
|
|
38
|
+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
39
|
+
prompt: |
|
|
40
|
+
REPO: ${{ github.repository }}
|
|
41
|
+
PR NUMBER: ${{ github.event.pull_request.number }}
|
|
42
|
+
|
|
43
|
+
Please review this pull request and provide feedback on:
|
|
44
|
+
- Code quality and best practices
|
|
45
|
+
- Potential bugs or issues
|
|
46
|
+
- Performance considerations
|
|
47
|
+
- Security concerns
|
|
48
|
+
- Test coverage
|
|
49
|
+
|
|
50
|
+
Use the repository's CLAUDE.md for guidance on style and conventions. Be constructive and helpful in your feedback.
|
|
51
|
+
|
|
52
|
+
Use `gh pr comment` with your Bash tool to leave your review as a comment on the PR.
|
|
53
|
+
|
|
54
|
+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
|
55
|
+
# or https://code.claude.com/docs/en/cli-reference for available options
|
|
56
|
+
claude_args: '--allowed-tools "Bash(gh issue view:*),Bash(gh search:*),Bash(gh issue list:*),Bash(gh pr comment:*),Bash(gh pr diff:*),Bash(gh pr view:*),Bash(gh pr list:*)"'
|
|
57
|
+
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
name: Claude Code
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
issue_comment:
|
|
5
|
+
types: [created]
|
|
6
|
+
pull_request_review_comment:
|
|
7
|
+
types: [created]
|
|
8
|
+
issues:
|
|
9
|
+
types: [opened, assigned]
|
|
10
|
+
pull_request_review:
|
|
11
|
+
types: [submitted]
|
|
12
|
+
|
|
13
|
+
jobs:
|
|
14
|
+
claude:
|
|
15
|
+
if: |
|
|
16
|
+
(github.event_name == 'issue_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
17
|
+
(github.event_name == 'pull_request_review_comment' && contains(github.event.comment.body, '@claude')) ||
|
|
18
|
+
(github.event_name == 'pull_request_review' && contains(github.event.review.body, '@claude')) ||
|
|
19
|
+
(github.event_name == 'issues' && (contains(github.event.issue.body, '@claude') || contains(github.event.issue.title, '@claude')))
|
|
20
|
+
runs-on: ubuntu-latest
|
|
21
|
+
permissions:
|
|
22
|
+
contents: read
|
|
23
|
+
pull-requests: read
|
|
24
|
+
issues: read
|
|
25
|
+
id-token: write
|
|
26
|
+
actions: read # Required for Claude to read CI results on PRs
|
|
27
|
+
steps:
|
|
28
|
+
- name: Checkout repository
|
|
29
|
+
uses: actions/checkout@v4
|
|
30
|
+
with:
|
|
31
|
+
fetch-depth: 1
|
|
32
|
+
|
|
33
|
+
- name: Run Claude Code
|
|
34
|
+
id: claude
|
|
35
|
+
uses: anthropics/claude-code-action@v1
|
|
36
|
+
with:
|
|
37
|
+
claude_code_oauth_token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
|
|
38
|
+
|
|
39
|
+
# This is an optional setting that allows Claude to read CI results on PRs
|
|
40
|
+
additional_permissions: |
|
|
41
|
+
actions: read
|
|
42
|
+
|
|
43
|
+
# Optional: Give a custom prompt to Claude. If this is not specified, Claude will perform the instructions specified in the comment that tagged it.
|
|
44
|
+
# prompt: 'Update the pull request description to include a summary of changes.'
|
|
45
|
+
|
|
46
|
+
# Optional: Add claude_args to customize behavior and configuration
|
|
47
|
+
# See https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md
|
|
48
|
+
# or https://code.claude.com/docs/en/cli-reference for available options
|
|
49
|
+
# claude_args: '--allowed-tools Bash(gh pr:*)'
|
|
50
|
+
|
|
@@ -7,7 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
### Fixed
|
|
11
|
+
- **init: Language-specific config.toml (LX-05)** - Generate correct config for TypeScript
|
|
12
|
+
- TypeScript projects now get TypeScript-specific `forbidden_imports`: `fs`, `path`, `http`, etc.
|
|
13
|
+
- TypeScript projects get `require_doctests = false` (uses JSDoc instead)
|
|
14
|
+
- TypeScript-specific `exclude_paths`: `node_modules`, `.next`, `coverage`
|
|
15
|
+
- Python projects unaffected (still get Python-specific config)
|
|
11
16
|
|
|
12
17
|
## [1.15.6] - 2026-01-03
|
|
13
18
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: invar-tools
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.16.0
|
|
4
4
|
Summary: AI-native software engineering tools with design-by-contract verification
|
|
5
5
|
Project-URL: Homepage, https://github.com/tefx/invar
|
|
6
6
|
Project-URL: Documentation, https://github.com/tefx/invar#readme
|