1.7.0: declare three-axes-framework dependency - #5
Merged
Conversation
Claude Code has no mechanism for one plugin to read another's files at runtime -- confirmed against the platform docs before building anything here, rather than assuming. So this doesn't make philosophy.md a live view onto the standalone three-axes-framework plugin. What it does do: sage-instructor now declares it as a plugin.json dependency, so installing sage-instructor auto-installs it alongside, giving a learner the general always-active coding philosophy outside teaching sessions too, not just Sage's teaching-specific calibration. Requires sage-instructor to be listed in the same marketplace as three-axes-framework (lux-solari-plugins) for the bare-string dependency to resolve -- companion change there. Also adds scripts/check_framework_drift.py. philosophy.md is a teaching-specific adaptation of the upstream framework, not a copy -- lesson-step calibration, curriculum-generation axis inference, and other machinery that only exists here. A script that literally overwrote it with upstream content would destroy that adaptation. Instead this fetches the upstream SKILL.md, diffs it against a cached snapshot of the version philosophy.md was last reconciled against, and prints the diff for manual review -- never auto-overwrites. Snapshot captured from upstream commit 0f6c8db (three-axes-framework v1.1.3). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Hi @luxsolari! 👋
Your private repo does not have access to Sourcery.
Please upgrade to continue using Sourcery ✨
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
three-axes-frameworkas aplugin.jsondependency. Confirmed against Claude Code's platform docs first: there's no mechanism for one plugin to read another's files at runtime, so this doesn't makephilosophy.mda live view onto the standalone plugin — it does make installing sage-instructor auto-installthree-axes-frameworkalongside it, so a learner gets the general always-active coding philosophy outside teaching sessions too.scripts/check_framework_drift.py—philosophy.mdis a teaching-specific adaptation of the upstream framework (lesson-step calibration, curriculum-generation axis inference), not a copy, so this never auto-overwrites it. It fetches the upstreamSKILL.md, diffs against a cached snapshot of the last-reconciled version, and prints the diff for manual review.--update-snapshotaccepts a new baseline after reconciling by hand.lux-solari-plugins): lists sage-instructor in the same marketplace asthree-axes-framework, since bare-stringplugin.jsondependencies resolve within the declaring plugin's own marketplace.Test plan
plugin.jsonvalidated as well-formed JSONpython scripts/check_framework_drift.pyruns clean against the freshly-captured baseline (no drift, as expected)python tests/test_check_progress_schema.py— 7/7 pass (Tier 1, unaffected by this change)🤖 Generated with Claude Code