Repository navigation
Harden release packaging and strengthen editing behavior - #2
Merged
Merged
Conversation
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.
The package validator could accept malformed metadata or images, and failed builds could replace a good archive. This PR makes ZIP publication atomic, validates the supported YAML string subset, rejects duplicate JSON keys and non-ASCII semantic versions, counts physical Unicode characters including CRLF, and validates WebP structure with a separate CI pixel-decode check. Synthetic regression tests cover these failures and staging recovery. Root
plugin.jsonremains canonical and the runtime allowlist remains exactly six files.The behavioral investigation confirmed the 42 recorded Luna failures: shortening exceeded the requested levels, Changes explanations omitted bold quotation formatting, and explicit fenced-payload editing lost or added source content. The skill now orders source separation, calculated shortening budgets/fact inventory, composition, a full edit/count audit, and safe-fence construction. It retains the exact pronoun rule, minimal edits/no-op response, literal formatting, source-instruction isolation, truthful complete Changes, and fresh-draft output. The skill is 6,990 Unicode characters, below the 8,000 limit. Package 1.0.1 remains an unreleased proposal.
All original 18 fixtures/83 assertions and the original Luna runner are byte-for-byte unchanged. Frozen snapshots bind source, manifest, fixture text and runner; captured prompts, responses and manual grades remain inspectable. No failed candidate or prior response was rewritten or discarded. The known draft-facts gap is an additional separately recorded regression check, not a replacement assertion or holdout.
Independent Astra grading and a separate Sol review agree on the three final Sol fixture passes. All nine current records validate with current source binding and complete grading; all three final Sol records additionally pass
--require-pass. Current supplementary draft-facts checks pass 9/9. CI now requires those three Sol passes and verifies all current records, while retaining the Luna failures.The original Luna high failures are not fully resolved. A stronger-model old-source control already passed 83/83, so stronger-profile success cannot be attributed solely to the prompt changes. One maximum-effort Luna response still shortens 36% for the about-30% request. Single-request native Luna probes also failed light trimming, showing batching alone does not explain the observed issue. Sol run 3 has an additional unscored gap: redundant terminal periods after some quoted Changes spans. Passing the selected assertions does not certify every skill rule or every model. These results and all controls/failed candidates are documented in
tests/RESULTS.md.Validation: all 52 standard-library unit tests pass; release validate/build and
git diff --checkpass; all 19 frozen full-suite records pass complete provenance validation; supplementary and diagnostic hash bindings verified; six-file archive allowlist, CRC, source-byte equality and compatibility version verified. ZIP SHA-256:6779f8b50f79728947ee3ed5f652d21cec5ffac709e51af9d5435663d48f2603. The unchanged icon was previously successfully decoded with libwebp 1.6.0.Intended-host acceptance remains pending for this exact ZIP. The plugin is instruction-only and cannot enforce host model selection. No live plugin installation/update, release, listing publication, or merge is performed by this PR. Historical ChatGPT observations remain historical. Local verification is complete; hosted CI status must be checked separately.