Skip to content

Next-release readiness: repository hygiene, documentation audit, and publish handoff #380

Description

@momics

This was generated by AI during triage.

Why

v0.6.0 is already published. Before the next release, do one deliberate repository-readiness pass so temporary review artifacts, stale public documentation, and release-process drift do not ship again.

This is an umbrella chore. The final step is intentionally a human publishing gate.

Workstreams

1. Repository hygiene

  • Remove the tracked, PR-specific PR_350_REMEDIATION_AUDIT.md; it contains stale pre-merge state and a machine-local worktree path.
  • Scan all tracked files for temporary reviews, generated reports, patches, logs, build products, device artifacts, machine-specific paths, and orphaned documents. Record a keep/remove decision for every candidate in the PR description.
  • Resolve the orphaned docs/internals/core-performance-exploration-2026-06.md: retain the useful benchmark history only if it is linked from the internals index and all machine-specific Cargo paths are made portable; otherwise remove it.
  • Preserve purposeful tracked assets such as ADRs, DNS-SD verification contracts, native contract harnesses, and output-directory placeholders.
  • Do not publish ignored or untracked local-only workspace material. Public audit notes should describe excluded candidates by category, without exposing private filenames, tool inventories, usernames, or machine paths.
  • chore: consolidate project agent skills #381 established .agents/skills/** as the single cross-agent project-skill location, retained the blanket .agents ignore as a privacy boundary, and explicitly tracked only the reviewed repository skills: manage-issues, fix-issues, regression-first, and analyze-git-diff.
  • Keep standing repository rules in AGENTS.md; do not duplicate skills across agent-specific directories or vendor general-purpose skill collections that are better installed and updated at user/plugin scope.
  • Require deterministic skill tooling to carry regression fixtures and run those fixtures in CI. The diff analyzer must continue matching Git's exact totals before publishing its heuristic classifications.

2. Documentation and README audit

Audit every tracked README.md, plus any directly linked setup guide whose instructions it depends on. At minimum:

  • Replace stale package versions and commands; public installation snippets must match the next release version or use the repository's documented versioning convention.
  • Update the root support statement so Tauri mobile is not described as unsupported.
  • Correct the discovery configuration example to the actual mdns?: boolean | { serviceName?: string } shape.
  • Make the Tauri package README accurately list desktop, iOS, and Android support and point clearly to mobile setup.
  • Replace the stock Tauri example README with instructions for this repository's actual example: prerequisites, desktop/mobile build and run commands, signing expectations, capabilities, discovery testing, and troubleshooting.
  • Make iOS DNS-SD setup explicit: native framework linkage, local-network usage text, Bonjour service declarations, and the Tauri discovery capability.
  • Make Android DNS-SD setup explicit: plugin-owned manifest entries, pre-T-extension-7 multicast-lock behavior, T-extension-7 foreground behavior, the future API-37 local-network runtime permission, the Tauri discovery capability, and lifecycle constraints.
  • Rewrite stale mobile discovery claims that still describe the pre-feat: cross-device interop — land #338/#336/#346 + #340 harness (device-validated, consolidated) #350 asymmetric matrix or the old iOS advertiser implementation.
  • Verify Deno FFI flags against the currently supported Deno version and remove duplicate/outdated wording.
  • Reconcile compression documentation with the current Cargo feature model and runtime behavior.
  • Repair stale public API documentation: the core Rust sample must use the current service/fetch interfaces, the adapter README must describe its validation and request-delivery responsibilities and current error mapping, and the shared-package README must name dial()/incoming() plus the peer and generic discovery APIs.
  • Update release instructions to the guarded flow actually used: the release script's clean-main/git-cliff prerequisites, tag-triggered draft Build plus Extended checks, manual Publish dispatch only after the exact tag is green, registry verification, then publishing the GitHub draft.
  • Refresh test-suite counts/file listings and complete the feature/internals indexes, or replace brittle hand-maintained counts with a generated check.
  • Audit directly linked API/setup pages for obsolete option names such as flat relay, DNS resolver, timeout, or advanced configuration fields.
  • Check all README links and run/compile documentation examples where practical.

Android support needs a code-versus-documentation decision, not a permission list copied blindly:

  • Verify multicast reception on the supported pre-T-extension Android range. If a WifiManager.MulticastLock is required there, implement and lifecycle-test it or document a deliberately narrower support floor.
  • Verify what the plugin contributes to the merged manifest versus what a generated Tauri app must own, including runtime permission handling where applicable.
  • Track Android's newer local-network permission model explicitly rather than claiming untested future SDK support.

3. Release candidate gate

  • Land the cleanup/documentation PR with normal CI green and a clean tracked tree.
  • Confirm the chosen next version, package manifests/lockfiles, and curated changelog agree.
  • Resolve or incorporate Release workflow should publish the curated CHANGELOG section #379 so the release workflow uses the curated changelog section instead of replacing it with raw generated notes.
  • Re-run the relevant desktop and mobile DNS-SD verification matrix if implementation or setup instructions changed materially.
  • If Android multicast/runtime behavior changes, run the affected real-device matrix rather than treating it as documentation-only work.
  • Obtain explicit maintainer approval before creating the next release tag.
  • Tag the exact approved main-branch commit and watch the tag-specific Build, Extended, and Benchmarks workflows to green. Record workflow links and the exact commit SHA here.

4. Human publish — final step

  • Hand the maintainer a concise publish checklist with the tag, commit, green workflow links, expected package/artifact inventory, and curated release notes.
  • Human: manually dispatch/approve publishing, verify registry/package availability, publish the GitHub release, and close this issue.

Scope boundaries

  • Do not move or recreate the already-published v0.6.0 tag.
  • Do not mix product/API changes into the cleanup PR unless a documentation claim exposes a real release blocker; track such work separately.
  • Preserve developer worktrees and unrelated local state. Perform implementation in a fresh branch/worktree from current main.
  • Do not publish automatically. The final publish decision remains human-owned.

Completion evidence

  • Cleanup PR link and its tracked-file audit summary
  • List of all README files checked, with changed/unchanged rationale
  • Documentation/example validation commands and results
  • Exact release tag and commit SHA
  • Green tag-workflow links and artifact inventory
  • Human confirmation that packages and GitHub release are public

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestepicTracking issue for a multi-slice initiative

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions