Skip to content

[cleanup] Verifiability and release hygiene cleanup #61

Description

@SisyphusZheng

Parent

#58

What to build

Fix verifiability gaps and release hygiene issues discovered during the v0.41.0-alpha.1 audit. This includes making deno pack produce complete types, raising the coverage floor, fixing misleading gate output, and removing leftover JSR release paths from the npm-only distribution line.

This epic touches CI policy, tooling, and release workflow, but it does not change public API or package topology.

This epic starts after #59 (runtime-free boundary and core architecture cleanup) is merged.

Acceptance criteria

  • After [cleanup] Protocol surface and over-engineering cleanup #60 is merged, re-run deno task pack:dry-run and catalog remaining Could not generate types failures.
  • Categorize failures into:
    - A. Ambient declaration files that should not emit dts.
    - B. Build-time / CLI-only / internal modules that should not be in public package exports.
    - C. Public API modules whose dts generation should be fixed by adding explicit types or removing broken imports.
  • Fix C-class failures module by module. Prioritize runtime-free product packages (core, element, ui, signal, router, app), then build-glue packages (ssg, adapter-vite, content).
  • Test coverage threshold is raised from 50% to a higher floor (target ≥70-80% for runtime packages) and missing core-path tests are added.
  • tools/check-package-surface.ts:92 output is corrected from "10 packages retained" to "11 packages retained".
  • Consumer smoke gates (consumer:local, consumer:packaged, consumer:core-smoke) are moved into the CI/PR tier, not only release tier.
  • OPEN_ELEMENT_E2E_OFFLINE=1 can no longer silently skip E2E in CI tier, or requires explicit override.
  • Empty placeholder test www/__tests__/islands-reactivity.test.ts is filled or deleted.
  • tools/publish-npm.ts stops using --allow-dirty for release dry-run/pack.
  • .github/workflows/autoflow-release.yml and tools/autoflow/release.ts no longer reference JSR_TOKEN or conditionally publish to JSR under v0.41+.
  • All local release gates in docs/status/STATUS.md remain green.

Blocked by

Related findings

  • deno.json:80 test:coverage:check threshold 50%.
  • tools/check-package-surface.ts:92 says "10 packages retained".
  • tools/autoflow/policy.ts:184-209 consumer smoke only in release tier.
  • tools/autoflow/policy.ts:247-262 E2E skip via env var in CI.
  • www/__tests__/islands-reactivity.test.ts runs 0 tests.
  • tools/publish-npm.ts uses --allow-dirty.
  • .github/workflows/autoflow-release.yml:66 still sets JSR_TOKEN.
  • tools/autoflow/release.ts:129-136 conditionally publishes to JSR.

Related

  • ADR-0107, ADR-0108, ADR-0101
  • docs/status/STATUS.md
  • docs/current/VERSION_PLAN.md
  • docs/release/v0.41.0-alpha.1-cleanup-plan.md

Metadata

Metadata

Assignees

No one assigned

    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