Skip to content

fix(catalogues): un catalogue qui ne publie aucun lab sort du manifeste, et le générateur le refuse - #370

Closed
stephrobert wants to merge 1 commit into
mainfrom
fix/catalogue-sans-lab-hors-manifeste
Closed

stephrobert wants to merge 1 commit into
mainfrom
fix/catalogue-sans-lab-hors-manifeste

Conversation

@stephrobert

Copy link
Copy Markdown
Owner

Summary

0.9.2 added certificats to the packaged manifest while its GitHub repository was still empty (no commit pushed; it is a set of skeletons on purpose). So dsoxlab catalog list offers it, and a learner who installs it gets nothing. scripts/gen-catalogues.py left it out of the README table but did not refuse it in the manifest. That was a regression from the previous script, which stated explicitly that a catalogue without labs has nothing to offer in catalog list.

  • certificats leaves the manifest.
  • The generator now treats an entry that publishes no lab as a drift (exit 1, with the gesture), instead of only a note. The catalogue comes back by itself: the check that finds public repositories missing from the manifest names it as soon as its first lab is published.

#369 (draft state for a lab and a catalogue, planned for 0.9.3) will give a better answer: draft: true in the manifest. When it lands, this refusal will exempt draft entries.

Type of change

  • Bug fix
  • New feature
  • Refactor
  • Documentation
  • Chore / tooling
  • Security / supply chain

Checklist

Always

  • ruff check scripts tests: passed
  • mypy src/dsoxlab: N/A, no src/ Python touched
  • tests/test_gen_catalogues.py: 8 passed. The new test test_un_catalogue_sans_lab_publie_est_refuse fails on the previous code, where main() returned 0.
  • Full suite: run by the pre-push hook on this push
  • Domain-agnostic: engine untouched
  • Manual: gen-catalogues.py --check against GitHub gives exit 0 and 699 labs measured on 18 repositories

When behavior changes

Commands / workflows / contract

N/A: no command, workflow or contract change.

🤖 Generated with Claude Code

…te, et le générateur le refuse

La 0.9.2 a ajouté certificats au manifeste alors que son dépôt était vide :
catalog list le proposait, et l'apprenant qui l'installait n'obtenait rien.
Le générateur l'écartait de la table sans le refuser au manifeste. Il le
refuse désormais ; certificats reviendra quand il publiera son premier lab,
nommé par la détection des dépôts oubliés.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@stephrobert

Copy link
Copy Markdown
Owner Author

Closing without merging. I am folding this change into #369, which ships in 0.9.3.

#369 asks for certificats to stay in the manifest as draft: true rather than be removed, so this PR goes the wrong way.

What carries over into the #369 work:

  • The generator still refuses a manifest entry that publishes no lab, unless that entry is marked draft.
  • A draft entry stays in the manifest, is hidden from catalog list, and stays out of the README table.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant