scaffoldver

package
v0.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package scaffoldver tracks which bones binary version scaffolded the current workspace's .bones/ and .claude/skills trees. The scaffold and the binary upgrade independently — brew upgrade replaces the binary but leaves the workspace state alone — so we record the version each time scaffoldOrchestrator runs and detect drift on subsequent invocations.

See ADR 0035 (`docs/adr/0035-scaffold-version-drift.md`) for the rationale and detection strategy.

Index

Constants

View Source
const StampPath = ".bones/scaffold_version"

StampPath is the relative location under the workspace root where the scaffold version is recorded. Plain text, single line, no trailing newline-noise to fight.

Variables

This section is empty.

Functions

func Drifted

func Drifted(stamp, binary string) bool

Drifted reports whether the workspace stamp and the running binary's version disagree. Returns false when:

  • the stamp is empty (fresh workspace; nothing to compare against)
  • the binary version is "dev" or empty (local build; suppress noise during development)
  • the values match

All other cases return true. Caller decides whether to warn.

func Read

func Read(root string) (string, error)

Read returns the version stamped at root/.bones/scaffold_version. Returns ("", nil) if the file is missing — that's the "fresh workspace, no stamp yet" case, not an error. Other read failures are returned verbatim.

func Write

func Write(root, ver string) error

Write records ver at root/.bones/scaffold_version. Creates parent directories as needed. Idempotent: writing the same value twice is a no-op as far as drift detection is concerned.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL