Skip to content

v0.17.0

Choose a tag to compare

@github-actions github-actions released this 01 Jun 13:44
· 44 commits to main since this release
fc20a99

Added

  • audit-project MVP lint rules for SciTeX/Clew conventions (PS-PATH-001 / PS-PATH-002 / PS-CLEW-001 / PS-AGENT-001) (#98). Four new rules under src/scitex_dev/_cli/audit/_project/:
    • PS-PATH-001 (E)config/PATH.yaml with the forbidden outer PATH: wrapper. The filename gives the namespace; wrapping moves real values to CONFIG.PATH.PATH.<KEY> and breaks 100% of access sites with AttributeError.
    • PS-PATH-002 (E)config/PATH.yaml leaf values without the f"..." prefix. eval(CONFIG.PATH.<KEY>) on bare "./data/foo" raises SyntaxError because the body parses as a Python expression ./data/foo, not a string literal.
    • PS-CLEW-001 (W)*.py calls scitex_clew.add_claim but the same module never calls clew.verify_claim / clew.list_claims for self-verification. Encourages the "solver runs Clew at its own runtime and notices failures itself" pattern from the paper-scitex-clew operator directive 2026-06-01.
    • PS-AGENT-001 (E)scripts/agent/*.py registers clew claims but never persists a real claims.json file. The DAG terminus must be a file, not a script node.
    • 34 new tests (25 + 9 split-siblings to comply with PA-307 §3 TQ002 / TQ007).
  • linter: host the scitex-umbrella STX-I001I007 (import hygiene) and STX-S001S008 (@stx.session structure) rules in-house as first-class engine built-ins (_rules/_import_hygiene.py, _rules/_session_structure.py, registered in _rules.ALL_RULES). Every id, severity, category, message, suggestion, and requires gate is preserved verbatim, so runtime behavior is identical — the scitex-gated rules still fire only when scitex is installed. These no longer depend on the umbrella's scitex_dev.linter.plugins entry-point plugin; scitex-dev linter surfaces them straight from its own registry. The plugin-loader mechanism is untouched (other leaf packages still use it). Umbrella-thinning Phase A — lets the umbrella delete its scitex/_linter_plugin.py once it pins this release.

Fixed

  • Skill page scientific/02_research-project_03_project-structure-config-and-data.md (#97): the YAML example violated the two firm rules immediately above it (outer PATH: wrapper + bare-string leaves). Rewritten to follow both rules unambiguously; the rules themselves are unchanged — they were already correct.

Changed

  • Untracked the orphan docs/to_claude/examples/example-python-project-scitex/config/PATH.yaml example (gitignored by .gitignore:14 but accidentally tracked from before the gitignore line was added). The same file is correctly untracked in scitex-clew and scitex-io. Aligns scitex-dev with the rest of the ecosystem.