Repository navigation
feat: originaux (§1.9), projection publiable (§4.11) et profil Projet (G.12) — 0.20.0 - #123
Merged
Merged
Conversation
… (G.12) — 0.20.0 La spec 2.11-draft fait des RAW et des sidecars une troisième catégorie de fichiers de media/. Lu par la 0.19, un dossier de travail proposait ses .RAF et ses .xmp en téléchargement après la galerie, et l'ingestion les aurait publiés : c'est le risque relevé sur mdr-monorepo#244, dont la spec attend la correction ici plutôt que dans chaque site. - helpers : isOriginal(), classifyAttachment() rend null pour un original, files[] écarte les originaux. L'exclusion se fait dès le glob des documents joints (src/helpers/index.ts) : un fichier globbé en ?url est émis par Vite même si rien ne le rend. - ingest : publishable(), isOriginalPath(), isOriginalEntry() ; guard-originals-excluded (count, bytes) ; guard-oversize sur la projection ; règle 12 de §4.10 pour attachments: vers un original. - schéma : bloc project: tolérant, ORIGINAL_EXTENSIONS et PROJECT_STATUSES à la racine ; preset project (collection work, la collection projects de G.12 étant celle de portfolio depuis la 0.8.0). - corrigé au passage : .tif (spec 2.9) et les extensions image en majuscules sortaient en pièce jointe. - fixtures resynchronisées sur izo/hyperfocale-spec main@51cbf73. Refs #121 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01UUSDjd6BkMUR1HavjW3qsD
izo
marked this pull request as ready for review
October 20, 2026 13:32
This was referenced Oct 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #121. Cette PR aligne le plugin sur la spec 2.11-draft.
Jusqu'ici, un
.RAFou un.xmpplacé dansmedia/tombait en document joint et était proposé en téléchargement. L'ingestion l'aurait aussi publié, ce qui est le risque relevé sur izo/mdr-monorepo#244.Changements
isOriginal().classifyAttachment()rendnullpour un original.files[]qui désignent un original sont écartées.?urlest émis par Vite même si rien ne l'affiche. Il est copié dansdist/, ou inliné en base64 sous 4 Ko.publishable(snapshot),isOriginalPath,isOriginalEntry.guard-originals-excluded(info), avec ses champscountetbytes.guard-oversizene s'évalue plus que sur la projection publiable.attachments:vers un original produitattachment-not-found.project:tolérant : un statut ou une clé inconnus sont conservés.ORIGINAL_EXTENSIONSetPROJECT_STATUSESexportés à la racine.project..tif(spec 2.9) et les extensions image en majuscules sortaient en pièce jointe.izo/hyperfocale-spec main@51cbf73.Vérifications
npm run typechecknpm run test:unitnpm run fixtures:check51cbf73npm test(e2e)atelier-2026qui porte un RAW, un.xmpet un PDFnpm run pack:dryÉcarts assumés
project: elle s'appellework, pasprojects.portfoliooccupeprojectsdepuis la 0.8.0, et un test interdit que deux presets partagent une collection..Rafest écartée du rendu mais reste copiée au build. Le glob de Vite compare à la casse près, et seules les graphies tout en minuscules ou tout en majuscules y sont listées.Côté consommateurs d'ingestion (MDR)
Le diff doit maintenant partir de
publishable(target), et c'est la projection qu'il faut matérialiser et enregistrer comme snapshot publié. Le README donne l'exemple d'orchestration.La publication npm et le tag
v0.20.0restent au propriétaire. Cette PR ne publie rien.Generated by Claude Code