Skip to content

Test coverage gaps left by the closed May/June PR batch #62

Description

@savvides

Four gaps found while triaging the Jules PRs. Each PR was closed for a specific defect, but the coverage they were reaching for is genuinely missing. Ordered by whether a regression would be caught today.

1. bin/idstack-gen-skills target isolation (from #52). Nothing asserts that --target claude leaves dist/codex/ and AGENTS.md untouched. If render_codex_assets escaped its guard at bin/idstack-gen-skills:212-214, AGENTS.md would still be a byte-identical copy of templates/agent-context.md, so both smoke-test.sh:362 and the :353 dry-run gate stay green. Silent regression today. Fix: two check lines near integration-test.sh:162, plus one for --target bogus exiting 2 (:50-53).

2. bin/idstack-slugify stdin (from #51). Both the implicit branch (:42) and explicit - (:35) are documented at :20 and untested. The emoji case is the only input reaching .encode("ascii","ignore") at :51. Re-land those assertions with #51's deadlocking pty test dropped.

3. bin/idstack-migrate:84 (from #53). The || { cat "$MANIFEST"; exit 0; } fallback on a malformed manifest is exercised by nothing. One assertion, folds into the existing block at smoke-test.sh:311-350.

4. Comment fix, bin/idstack-learnings-delete:4. Says "Exit 0 always" while :9, :12 and the sys.exit(1) at :38 all exit 1. Fix the comment, not the code — skills/learn/SKILL.md:389 depends on the nonzero exit to avoid reporting success on a no-op.

Larger coverage gaps (idstack-doctor, idstack-status --readiness) stay tracked on open PRs #55 and #54.

Metadata

Metadata

Assignees

No one assigned

    Labels

    docs-debtDocumentation gaps recorded but not closed

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions