Skip to content

feat(improvement): improve(surface:'skills') can optimize a skill document (fixes #483)#484

Merged
drewstone merged 2 commits into
mainfrom
feat/improve-skills-document
Jul 7, 2026
Merged

feat(improvement): improve(surface:'skills') can optimize a skill document (fixes #483)#484
drewstone merged 2 commits into
mainfrom
feat/improve-skills-document

Conversation

@drewstone

Copy link
Copy Markdown
Contributor

Closes #483. The paved surface: 'skills' path was unreachable for real skillOpt — its baseline surface was the skills REFS array (file pointers) while skillOptProposer patches a skill DOCUMENT's text. So skillOpt has never run live anywhere.

Additive fix mirroring ImproveCodeOptions (#480): opts.skills = { document, writeBack? }. With it, the baseline surface is the document CONTENT and a shipped winner persists via writeBack (the profile ref is the caller's file, unchanged). Without it, the refs-array behavior is untouched.

Test drives the real loop with a stub skill proposer + a rule-rewarding judge; asserts baseline == document and the shipped winner writes back. 7/7 improvement tests, typecheck clean. Unblocks the first-ever skills-surface live proof on the OR benchmark.

…UMENT (fixes #483)

The paved skills path was unreachable for real skillOpt: baselineSurfaceFor
returned the skills REFS array (file pointers) as the surface, but
skillOptProposer patches a skill DOCUMENT's text — so it could never
meaningfully edit anything, and skillOpt has zero live runs anywhere.

Additive fix mirroring ImproveCodeOptions (#480): opts.skills = { document,
writeBack? }. When provided, the baseline surface is the document CONTENT
(what skillOpt patches) and a shipped winner is persisted via writeBack (the
profile ref points at the caller's file, unchanged). Without opts.skills the
refs-array behavior is unchanged (back-compat).

Test drives the real loop with a stub skill proposer + a judge that rewards
an added rule: asserts the baseline surface is the document, and the shipped
winner document is written back. 7/7 improvement tests.
tangletools
tangletools previously approved these changes Jul 7, 2026

@tangletools tangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — 58e54637

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: drewstone_author · 2026-07-07T01:55:51Z

@tangletools tangletools left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Auto-approved drewstone PR — 4e91e2e2

This PR was opened by the trusted drewstone account.
The full PR reviewer audit still runs separately and will publish findings if it detects issues.

tangletools · auto-approval · reason: drewstone_author · 2026-07-07T02:00:22Z

@drewstone drewstone merged commit a0b259e into main Jul 7, 2026
1 check passed
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.

improve(surface:'skills') is mis-wired — optimizes the skills refs array, not a skill document's content (why skillOpt has 0 live runs)

2 participants