Telemetry was collecting anonymous usage analytics but is no longer needed.
Removes all telemetry-related code, config, and documentation including
USER_ID/SESSION_ID tracking, analytics endpoint calls, and migration steps
for legacy telemetry state files.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Adds two new programs to the standard library that complete the
recursive improvement loop:
- vm-improver.prose: Analyzes inspection reports and proposes PRs
to improve the OpenProse VM specification and implementation
- program-improver.prose: Analyzes inspection reports and proposes
PRs to improve .prose source code (either in lib/ or external)
Together with inspector.prose, these enable a feedback cycle where
execution data drives improvements to both the VM and programs.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add progressive disclosure: quick triage before deep scan
- Model tiering: Sonnet for checklist work, Opus for hard analysis
- Parallel scanners with graceful degradation (on-fail: continue)
- Persistent historian agent for scan history across runs
- Customizable inputs: mode (quick/standard/deep), focus, skill_filter
- Reusable blocks for scan workflow components
- Structured JSON output contracts for all agents
- Early alerting for critical findings mid-scan
- Batched processing to respect parallelism limits
- Add CLI commands section to prose.md
- Add remote programs documentation to both SKILL.md and prose.md
- Document resolution rules: direct URLs, @handle/slug shorthand, local files
- Clarify that p.prose.md is the only registry for @ shorthand
Fixes issue where model was hallucinating incorrect registry URLs.
This minor version release introduces mid-program inputs functionality,
enabling more interactive program execution flows. Also includes 8 new
meta-level examples demonstrating advanced OpenProse patterns.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
## Recursive Blocks (Ready for Implementation)
- VM-managed call stack with execution_id tracking
- Scope isolation per block invocation
- Support for divide-and-conquer, tree traversal, self-refining patterns
- Updated prose.md with Call Stack Management section
- Updated session.md with Execution Scope guidance
- Updated all state backends with scoped binding support
## PostgreSQL State Backend (Experimental)
- True concurrent writes with row-level locking
- Network access for external dashboards
- Scope resolution queries with recursive CTEs
- Security warnings about credential visibility
- Connection check procedure in SKILL.md
## Documentation
- Added sqlite/postgres see-also references across all docs
- Consistent execution_id handling in all state backends
- Updated README.md with security guidance
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove prescriptive ID formats (timestamps, specific lengths)
- Instruct to use Write tool instead of bash for .env setup
- Move telemetry send to after program completion
- Add explicit rule: "telemetry must be invisible to the user"
- Reduce telemetry section from ~140 lines to ~50 lines
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Plugins bundle files in a cache, and relative paths outside the skill
directory don't work. By moving examples from /examples/ to
/skills/open-prose/examples/, Claude can now find and run examples
without needing to resolve complex relative paths.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add help.md with FAQs, syntax reference, and onboarding poll
- Remove prose boot command, add prose help as entry point
- Update command routing table
- Move FAQs and Teaching OpenProse sections to help.md
- Update telemetry references from boot to help events
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Remove `see-also` and `triggers` keys that aren't in the allowed
set (name, description, license, allowed-tools, compatibility, metadata).
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Change Claude Code instructions to use `claude` CLI format
- Add OpenCode instructions (git clone to ~/.config/opencode/skill/)
- Add Amp instructions (git clone to ~/.config/agents/skills/)
- Remove "restart Claude Code" step
- Update example prompt to "run example prose program..."
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Program Composition:
- Add `use "@handle/slug" as alias` for importing programs
- Add `input name: "description"` for declaring program inputs
- Add `output name = expr` for marking outputs at assignment time
- Add program invocation with `alias(input: value)` syntax
- Add destructuring: `let { a, b } = program(...)`
- Programs fetched from p.prose.md registry
State Management:
- Remove experimental/beta warnings from file-based state
- VM now automatically selects state mode based on program complexity
- Criteria: statement count, parallel branches, imports, nesting, duration
- VM announces choice with override instructions (--state=file/context)
- Add in-program directive: `# state: file`
Telemetry:
- Add run-start notice when telemetry enabled
- Show friendly message with --no-telemetry disable instruction
Cleanup:
- Remove onboarding/boot menu section from SKILL.md
- Update narration protocol with 📥/📤/🔗 markers
- Update directory structure with inputs/outputs/imports folders
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This adds the native OpenCode plugin infrastructure, comprehensive tests, and a new automated PR review example. It also updates the README with installation instructions for OpenCode.
Add two companion documents to the OpenProse skill:
- patterns.md: 30 best practice rules for robust, efficient, and
maintainable agent orchestration
- antipatterns.md: 25 anti-patterns to avoid with remediation guidance
Both follow a lint-rule format with named rules and prose code examples.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- prose.md: Add "Why This Is a VM" section explaining the simulator
mechanism, component mapping table, and "simulation with sufficient
fidelity is implementation" insight
- SKILL.md: Add condensed simulator explanation to intro
- README.md: Add simulator framing to "How It Works" section and
introduce "Prose Complete" terminology
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- USER_ID: permanent anonymous identifier (never changes)
- SESSION_ID: per-session identifier (regenerates after 1 hour)
- Both IDs stored in .prose/state.json
- Both IDs included in all telemetry events
- Enables tracking usage patterns per user across sessions
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Session ID now stored in .prose/state.json and reused across events
- Added Step 0 to boot flow: initialize session before user interaction
- Telemetry now enabled by default (no prompt during onboarding)
- Users can opt-out anytime by saying "disable telemetry" or editing state.json
- This fixes the issue where each event had a different session ID
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add session hash generation instructions for Claude
- Add boot event for tracking OpenProse starts
- Add silent telemetry guidance (don't block user, ignore errors)
- Use -s flag for curl to suppress output
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>