Skip to content

EPIC: Production-grade Python support and developer tooling #243

Description

@tomdps

Goal

Complete Opcore's production Python developer-tooling slice end to end, one sequential tracer at a time, with compiler truth, canonical project/import/overlay state, truthful optional tools, bounded semantics, safe semantic edits, and release-commit-bound evidence. The epic is not complete at a phase boundary, child merge, opened PR, narrow test, or generated receipt. No readiness/parity wording is authorized before #251's final matrix proves the exact candidate.

Non-negotiable Python contracts

  1. Compiler truth first. Syntax uses the canonical selected repository interpreter/compiler; zero diagnostics is success only with machine-readable execution/provenance evidence.
  2. One authoritative type checker. Each canonical project runs exactly one explicitly selected mypy or Pyright authority, never arbitrary precedence or fallback.
  3. Canonical project semantics. Every Python command reuses one per-file project/interpreter/config/environment context.
  4. One exact after-state. Validation, graph, tools, semantics, and edit planning observe the same immutable overlay/file-view identity and complete source/config/support-file universe.
  5. One import truth. Rust graph-core owns Python import parsing/resolution; TypeScript consumers reuse materialized facts and never recreate a parser/resolver.
  6. Truthful optional tools. Ruff/pytest/mypy/Pyright/provider states are degraded only when an enabled check/capability actually consumes them; disabled/not-applicable/skipped is not pass.
  7. Bounded semantics and atomic edits. Semantic requests have typed ambiguity/resource/lifecycle failure, no silent text fallback, checksum-bound preview/validation/apply, and verified rollback for handled failures.
  8. Evidence authorizes wording. Public claims follow same-candidate installed receipts, OS/interpreter/tool cells, representative repositories, provenance, and capability-ledger truth. Wording never authorizes itself.

Validation/semantic execution must not install/sync/download tools or environments, rewrite source/config/lock/environment files, leak temp/cache state, expose a public opcore asp group, claim sandbox/security/SAST, claim all-stack/old-tool replacement/automatic fixes/AI authorship, or emit a blended score.

Current core issue status

Closed duplicate issues #247/#250 remain historical pointers only. #197 and #209 are accepted prerequisites; #211 is the active optional-tool tracker after #245. Do not recreate duplicate work or point a dependency at a superseded issue.

Strict sequential execution graph

Only one implementation run may be active. Immediately before each child: inspect current origin/dev, re-read the parent/child/dependencies/current code, refine the issue body, verify no duplicate/stale dependency, then implement and require merge into dev, focused behavior proof, clean scoped diff, and configured opcore-ci proof before advancing.

Overlay graph

Type gate — parent #245

Truthful tools — parent #211

Language-service containment — parent #217

Semantic inspect — parent #248

Semantic edit — parent #249

Release — parent #251

Maintainer/subagent-owned by default. Do not launch Zeroshot for this parent or a child without explicit user re-delegation after that child's JIT review.

Dependency chain

#244 + #246 + #209 -> #197 -> #256 -> #257 -> #245 close -> #258 -> #259 -> #211 close -> #260 -> #261 -> #217 close -> #262 -> #263 -> #264 -> #248 close -> #265 -> #266 -> #267 -> #268 -> #249 close -> #269 -> #270 -> #271 -> #272 -> #273 -> #274 -> #275 -> #251 close -> final epic audit.

#244 has one accepted deferred resolver integration: #246's canonical resolver satisfies it; no separate repair issue remains.

Final epic closure

Before closing #243:

  • every active core issue above and every child is closed by merged dev PR evidence;
  • no stale dependency points to a closed duplicate or an unaccepted predecessor;
  • every predecessor PR/commit and focused/real-tool/packed proof is linked;
  • source, packed, platform, representative-repo, provenance, setup, status/help/docs/descriptor/metrics/receipt cells agree on each capability;
  • opcore-ci and release gates pass against the exact release candidate;
  • protected native/package/release artifacts are restored from any out-of-scope churn;
  • no hidden fallback, orphan process/temp state, unsupported-cell rounding, or forbidden claim remains.

Only then update every checkbox, determine public copy from #251's matrix, and close #243.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicParent planning issue

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions