Skip to content

1.7.0: declare three-axes-framework dependency - #5

Merged
luxsolari merged 1 commit into
mainfrom
three-axes-dependency
Jul 2, 2026
Merged

1.7.0: declare three-axes-framework dependency#5
luxsolari merged 1 commit into
mainfrom
three-axes-dependency

Conversation

@luxsolari

Copy link
Copy Markdown
Owner

Summary

  • Declares three-axes-framework as a plugin.json dependency. 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 make philosophy.md a live view onto the standalone plugin — it does make installing sage-instructor auto-install three-axes-framework alongside it, so a learner gets the general always-active coding philosophy outside teaching sessions too.
  • Adds scripts/check_framework_drift.pyphilosophy.md is 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 upstream SKILL.md, diffs against a cached snapshot of the last-reconciled version, and prints the diff for manual review. --update-snapshot accepts a new baseline after reconciling by hand.
  • Companion change (separate repo, lux-solari-plugins): lists sage-instructor in the same marketplace as three-axes-framework, since bare-string plugin.json dependencies resolve within the declaring plugin's own marketplace.

Test plan

  • plugin.json validated as well-formed JSON
  • python scripts/check_framework_drift.py runs 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

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>

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Hi @luxsolari! 👋

Your private repo does not have access to Sourcery.

Please upgrade to continue using Sourcery ✨

@luxsolari
luxsolari merged commit c6a9110 into main Jul 2, 2026
1 check passed
@luxsolari
luxsolari deleted the three-axes-dependency branch July 2, 2026 16:17
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.

1 participant