Skip to content

v0.12.1 P1 post-release audit: context-cache integrity, simplicity gate, symlinks & ignores #87

Open

Description

@eybersjp

Why this issue exists

v0.12.0 has actually been published: GitHub release and npm package. Verified main/tag package v0.12.0, merged PR #83, Ubuntu+Windows PR/main CI green; original release publish job failed on registry propagation but successful failed-job rerun run #38404132387 confirmed npm view development-kit@0.12.0 version and status already-published. Release Issue #86 has a fresh GitHub Actions success comment.

Post-publication audit exception: Merged PR #83 still exposes 12 unresolved GitHub review threads. Eight previously known findings F1–F8 have claimed implementer fixes/tests but reviewer thread resolution/provenance wasn't completed in GitHub. Four new Codex source-bound findings from final PR review have no follow-up disposition. Treat new findings as potential v0.12.1 patch blockers; don't represent them as accepted or resolved merely because package already published.

Four new findings to reproduce, correct and independently verify

  • P1: Complexity-triggered simplicity review is advisory, not enforced. computeComplexityDelta returns requiresSimplicityReview, but production run creation/acceptance do not consume it. Gate bypass when new dependency, large diff or risk>=3. Add contract-bound immutable complexity provenance, enforce simplicity-reviewer and risk-triggered requirements in canonical acceptance, adversarial tests.
  • P1: Context-cache fingerprint laundering. Cached inputs or targetFacts can be changed while preserving their claimed nested fingerprints and recomputing outer hash, making malicious/stale facts appear fresh. Recompute and verify selector/input/cache-ID fingerprints from exact nested payloads; test cross-session and tampered entries, enforce before capsule propagation.
  • P2: Symlinked context-cache parent permits writes outside project root. Lexical path.relative alone does not defend against symlinked parent/subfolder. Reject symlinks at every parent component or enforce realpath/identity and no-follow semantics; test Windows junction/reparse compatibility and Linux symlink attacks; preserve no-destructive user data guarantees.
  • P2: Missing managed runtime ignores in installed consumer projects. runtime/bootstrap/git-bootstrap.mjs managed ignore list omits telemetry and context-cache generated files. Add appropriate .development-kit/telemetry/, .development-kit/cache/ entries, verify bootstrap on fresh consumer repo, preserve existing .gitignore/user entries.

Mandatory follow-through

  1. Verify/reconcile all 12 PR release(v0.12): ship stable-state features, defer T04 to v0.13 #83 reviewer threads, including eight earlier claimed fixes, against the exact published tag and real tests. Preserve authored history and independent reviewer provenance.
  2. Implement and validate P1 fixes first. If exploitation is material, prioritize v0.12.1 patch, don't wait for v0.13's major architecture programme.
  3. Run full npm run release:validate, Windows/Ubuntu CI, consumer npm tarball smoke, security/architecture review on patch SHA; do not bypass independent acceptance.
  4. Publish verified patch only with correct new version and release authorization/policy. This issue is not an authorization to retag or mutate immutable v0.12.0.
  5. Keep v0.13 T04 State Engine V2 / full Windows restore priority intact (Issue v0.13.0 P0 — State Engine V2 T04 with complete Windows crash-durable restore #84 / T04 P1: Windows restore-journal deletion must follow durable directory rename #73).

All four findings are in PR #83 unresolved review threads. Source reviewed commit a71309c3625b14c3e015971447537be691c06551, merged main b46844585f0f303e5e666b09946db0e5a5c376ff.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions