Repository navigation
feat(skill): disclose source/version provenance in the generated skill - #7
Merged
Merged
Conversation
- add plans/skill-provenance/ plan set with requirements, component specs, testing strategy, execution plan, and the ambiguity register - record a preflight pass with notes: 3 major and 5 minor findings resolved - track the standalone feature as SP-01 in the roadmap Verification: npm run verify (build, tests, skill gates) passed.
- add optional packageName/packageVersion to SourceInfo - add umbrellaPackageDir to VersionPaths and set it for v9 - export readPackageJson and add readUmbrellaPackage - record the umbrella package on sources.fluentui during a scrape - add spec and impl tests plus the umbrella fixture package.json Verification: npm run verify (737 tests, skill gates) passed. Ref: plans/skill-provenance/99-execution-plan.md Task: 1.1.1-1.1.8
- add SkillRenderContext and render the section into references/index.md - add formatPackageVersionRange with numeric, count-aware ordering - read the skill version from package.json via a packageJsonPath option - bump GENERATOR_VERSION to 1.1.0 and regenerate the committed tree - add spec and impl tests; update buildSkillFiles call sites The committed tree is regenerated here (rather than only in the later corpus-refresh step) because the drift gate compares it byte for byte and must stay green. Verification: npm run verify (751 tests, skill gates) passed. Ref: plans/skill-provenance/99-execution-plan.md Task: 2.1.1-2.2.6
- add hard rule 8: cite the covered version, list used references, and say "not covered by this skill version" for absent APIs - correct compatibility to the real React peer range >=16.14.0 <20.0.0 - add specification tests for the rule and the compatibility value Verification: npm run verify (756 tests, skill gates) passed. Ref: plans/skill-provenance/99-execution-plan.md Task: 3.1.1-3.2.3
…te the skill - re-scrape the same commit; sources.fluentui now records @fluentui/react-components 9.74.1 - carry components and guides forward with no LLM calls (0 enhanced) - regenerate the committed skill; index.md shows the umbrella row - record runtime note: enhancer ran with --components-only Verification: npm run verify (756 tests, skill gates) passed. Ref: plans/skill-provenance/99-execution-plan.md Task: 4.1.1-4.1.4
- add regenerateSkill and call it after the version bump (skipped on --dry-run and --no-git-commit) - export releaseStagePaths and stage .agents/skills/fluentui - add an integration spec for the bump to regenerate to drift path - forward an optional packageJsonPath through checkDrift - amend RD-03 for the provenance section and RD-01 for the umbrella fields Verification: npm run verify (757 vitest + 18 release tests, skill gates) passed. Ref: plans/skill-provenance/99-execution-plan.md Task: 5.1.1-5.2.4
- set the SP-01 roadmap row to Done and update the header counts - drop plan-case ids from the provenance spec test comments Verification: npm run verify (757 vitest + 18 release tests, skill gates) passed.
- dedupe formatPackageVersionRange by packageName (198 entries, 51 packages) and regenerate the committed tree - always regenerate the skill in the release flow, including --no-git-commit - resolve and forward packageJsonPath from the drift CLI against its cwd - document the regeneration step in release docs and the workflow header - add readSkillVersion failure-path tests and tighten the rule-8 spec assertion - record the phase quality review and findings in 08-quality-review.md Verification: npm run verify (762 vitest + 18 release tests, skill gates) passed.
- include the regeneration step in the release.mjs --dry-run message - record the re-review verdict in the quality report Verification: npm run verify (762 vitest + 18 release tests, skill gates) passed.
- merge the v1.3.2 release so the tree matches the base version - regenerate so references/index.md records skill version 1.3.2 Verification: npm run verify (762 vitest + 18 release tests, skill gates) passed.
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.
Summary
Makes the generated
fluentuiAgent Skill self-describing: it now discloses the FluentUI source/version provenance of the snapshot and instructs the agent to say "not covered by this skill version" for APIs the snapshot does not contain, instead of guessing.Closes microsoft/fluentui#36792 (Request 1: skill provenance disclosure).
What changed
sources.fluentuirecords the umbrella@fluentui/react-componentsname + version at scrape time (SourceInfo.packageName/packageVersion,VersionPaths.umbrellaPackageDir)## Source & versionssection intoreferences/index.mdfrom the schema +package.json; newSkillRenderContext;GENERATOR_VERSION→1.1.0.agents/skills/fluentui/SKILL.mdhard rule 8 (cite covered version, list used references, refuse uncovered APIs) and corrected React peer range>=16.14.0 <20.0.0@fluentui/react-components 9.74.1; committed tree regeneratedscripts/release.mjsregenerates and stages the skill after a version bumpThe section is timestamp-free, so the drift gate stays a byte comparison. Example output:
Verification
npm run verify— PASS: 762 Vitest tests + 18 release tests, plus typecheck, version parity, and the drift/validate/freshness/secrets skill gates.Review
Independent per-phase quality review under strict CodeOps defaults; one 🟠 major (package count mislabelled; now deduped by package) and six 🟡 minors found and resolved. Re-review of the fix diff passed with one cosmetic follow-up, also fixed. Full audit trail in
plans/skill-provenance/08-quality-review.md.Notes
plans/skill-provenance/; RD-03 and RD-01 are amended.