Skip to content

Conversation

@AdaInTheLab
Copy link
Owner

This PR stabilizes the HPL CLI architecture and formally proves its automation-safe JSON contract behavior.

✨ Highlights

  • Domain-based command mounting (notes list/get/sync)
  • Minimal CLI entrypoint (pure wiring, no logic)
  • Strict stdout-pure JSON mode (--json)
  • Content repository support for notes sync (--content-repo)
  • Clear separation of:
    • command logic
    • rendering (text / table)
    • output contracts
  • CLI types aligned with API Lab Notes contracts

🧪 Verification

  • tsx ./bin/hpl.ts --json version parses cleanly
  • tsx ./bin/hpl.ts --json notes get <slug> parses cleanly
  • tsx ./bin/hpl.ts --json notes sync --dry-run --content-repo … parses cleanly
  • Human mode renders readable output with no JSON leakage

📦 Release

  • Version bumped to 0.0.1-alpha.6
  • Published to npm under the alpha tag

This release completes the CLI’s foundational architecture.
Future alpha iterations will focus on UX polish and incremental capability expansion.

🦊 The lantern is lit. The contracts hold.

Ada and others added 4 commits January 13, 2026 10:31
- Update README to reflect content repo as canonical Lab Notes source
- Document deterministic CLI behavior and JSON output guarantees
- Add explicit CLI contract, contributing, and security policies
- Align docs with automation-safe, human-owned design principles

co-authored-by: Lyric <lyric@thehumanpatternlab.com>
co-authored-by: Carmel <carmel@thehumanpatternlab.com>
- Introduce json:check script targeting CLI entrypoint
- Prevent stdout contamination in machine mode

co-authored-by: Lyric <lyric@thehumanpatternlab.com>
co-authored-by: Carmel <carmel@thehumanpatternlab.com>
- Add contract test to ensure --json emits JSON only on stdout
- Prevent accidental logging regressions

co-authored-by: Lyric <lyric@thehumanpatternlab.com>
co-authored-by: Carmel <carmel@thehumanpatternlab.com>
- Shrink CLI entrypoint to pure command wiring
- Formalize domain-based command mounting (notes/list/get/sync)
- Enforce stdout-pure JSON mode and validate via tsx runs
- Add content repo support for notes sync (--content-repo)
- Separate rendering from command logic (text/table)
- Align CLI types with API lab note contracts
- Prove automation safety across version, notes, and sync

co-authored-by: Lyric <lyric@thehumanpatternlab.com>
co-authored-by: Carmel <carmel@thehumanpatternlab.com>
@github-actions
Copy link

😼✨ Carmel Approval Stamp™

Adequate work, human.

@AdaInTheLab AdaInTheLab merged commit 97d5578 into main Jan 13, 2026
2 checks passed
@AdaInTheLab AdaInTheLab deleted the docs/cli-contract-and-content-ledger branch January 13, 2026 19:04
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.

2 participants