commits
Improved sleep schedule
Create post subsequent filter
Add robust consent checks for Bluesky thread replies
Add task logging and update agent context interactions
Update README to point to JSR lexicon package, pulls out publish sche…
Add @voyager/autonomy-lexicon dependency, refactor to remove local le…
added script for publishing autonomy schema
Changes:
- Update scripts/publishSchema.ts: Add domain ownership verification
- Add SCHEMA_PUBLISHER_USERNAME and SCHEMA_PUBLISHER_PASSWORD env vars
- Verify logged-in account handle contains expected domain
- Provide clear error messages for template users who accidentally run script
- Update scripts/README.md: Document new credential approach
- Update .env.example: Add schema publisher credential placeholders
This prevents template users from accidentally publishing duplicate schemas
while allowing the voyager.studio domain owner to publish independently
from any Bluesky account with a voyager.studio handle.
The script can now be run with:
SCHEMA_PUBLISHER_USERNAME=handle SCHEMA_PUBLISHER_PASSWORD=pass deno task publish-schema
This commit implements a complete solution for publishing the
studio.voyager.account.autonomy lexicon schema to AT Protocol.
Changes:
- Add scripts/publishSchema.ts: Script to publish schema to PDS
- Add scripts/README.md: Documentation for schema publication
- Add SCHEMA.md: Complete schema documentation
- Update README.md: Add AI transparency declaration section
- Update utils/declaration.ts: Add detailed comments explaining schema vs records
- Update mount.ts: Add logging for autonomy declaration creation
- Update deno.json: Add publish-schema task
The schema defines a standardized way for AI agents to declare their
automation practices for transparency. The schema is published once
by voyager.studio (domain owner), while each template user creates
their own autonomy declaration record using the published schema.
This follows the AT Protocol lexicon resolution spec:
https://atproto.com/specs/lexicon#lexicon-publication-and-resolution
Update agent sleep and wake messages
Updated all agent session prompts to include instructions for checking
their own recent posts before creating new content. This helps agents:
- Avoid repeating the same themes or phrases
- Maintain variety in their voice and content
- Keep the illusion of a persistent, evolving mind
- Notice and break formulaic patterns
Changes:
- sleepPrompt: Check own posts before sleep messages
- wakePrompt: Check own posts before wake messages
- checkBlueskyPrompt: Review own activity before creating new posts
- reflectionPrompt: Added "Your Own Post History" section for regular self-review
This ensures agents appear more human-like by remembering what they
said yesterday and avoiding repetitive behavior.
Add externalServices field to agent autonomy declaration
- Added EXTERNAL_SERVICES to .env.example with example value
- Documented EXTERNAL_SERVICES in README optional variables section
- Explains that it's a comma-separated list for transparency
- Notes that it's added to PDS autonomy declaration and agent memory
- Removed duplicate parsing of EXTERNAL_SERVICES env var
- Import and use agentContext.externalServices directly
- Single source of truth for parsed and validated external services
- Eliminates code duplication and potential inconsistencies
- Added externalServices field to agentContextObject type
- Created getExternalServices() function to parse EXTERNAL_SERVICES env var
- Validates service names (max 200 chars) and array length (max 20)
- Integrated externalServices into populateAgentContext()
- Updated createAutonomyDeclarationRecord to include externalServices in PDS
- Added externalServices to maintainerContactMemory for agent awareness
- Supports comma-separated list in .env (e.g., "Letta, Railway, Google Gemini 2.5-pro")
- Added optional externalServices array field to AUTONOMY_DECLARATION_LEXICON
- Added corresponding externalServices field to AutonomyDeclarationRecord type
- Field captures external tools/services agents rely on outside Bluesky
- Examples: Letta, Railway, Google Gemini 2.5-pro
- Array supports up to 20 items, each up to 200 characters
Provides a commented example of the new memory preservation setting for the
environment configuration.
Changes:
- Update scripts/publishSchema.ts: Add domain ownership verification
- Add SCHEMA_PUBLISHER_USERNAME and SCHEMA_PUBLISHER_PASSWORD env vars
- Verify logged-in account handle contains expected domain
- Provide clear error messages for template users who accidentally run script
- Update scripts/README.md: Document new credential approach
- Update .env.example: Add schema publisher credential placeholders
This prevents template users from accidentally publishing duplicate schemas
while allowing the voyager.studio domain owner to publish independently
from any Bluesky account with a voyager.studio handle.
The script can now be run with:
SCHEMA_PUBLISHER_USERNAME=handle SCHEMA_PUBLISHER_PASSWORD=pass deno task publish-schema
This commit implements a complete solution for publishing the
studio.voyager.account.autonomy lexicon schema to AT Protocol.
Changes:
- Add scripts/publishSchema.ts: Script to publish schema to PDS
- Add scripts/README.md: Documentation for schema publication
- Add SCHEMA.md: Complete schema documentation
- Update README.md: Add AI transparency declaration section
- Update utils/declaration.ts: Add detailed comments explaining schema vs records
- Update mount.ts: Add logging for autonomy declaration creation
- Update deno.json: Add publish-schema task
The schema defines a standardized way for AI agents to declare their
automation practices for transparency. The schema is published once
by voyager.studio (domain owner), while each template user creates
their own autonomy declaration record using the published schema.
This follows the AT Protocol lexicon resolution spec:
https://atproto.com/specs/lexicon#lexicon-publication-and-resolution
Updated all agent session prompts to include instructions for checking
their own recent posts before creating new content. This helps agents:
- Avoid repeating the same themes or phrases
- Maintain variety in their voice and content
- Keep the illusion of a persistent, evolving mind
- Notice and break formulaic patterns
Changes:
- sleepPrompt: Check own posts before sleep messages
- wakePrompt: Check own posts before wake messages
- checkBlueskyPrompt: Review own activity before creating new posts
- reflectionPrompt: Added "Your Own Post History" section for regular self-review
This ensures agents appear more human-like by remembering what they
said yesterday and avoiding repetitive behavior.
- Added EXTERNAL_SERVICES to .env.example with example value
- Documented EXTERNAL_SERVICES in README optional variables section
- Explains that it's a comma-separated list for transparency
- Notes that it's added to PDS autonomy declaration and agent memory
- Added externalServices field to agentContextObject type
- Created getExternalServices() function to parse EXTERNAL_SERVICES env var
- Validates service names (max 200 chars) and array length (max 20)
- Integrated externalServices into populateAgentContext()
- Updated createAutonomyDeclarationRecord to include externalServices in PDS
- Added externalServices to maintainerContactMemory for agent awareness
- Supports comma-separated list in .env (e.g., "Letta, Railway, Google Gemini 2.5-pro")
- Added optional externalServices array field to AUTONOMY_DECLARATION_LEXICON
- Added corresponding externalServices field to AutonomyDeclarationRecord type
- Field captures external tools/services agents rely on outside Bluesky
- Examples: Letta, Railway, Google Gemini 2.5-pro
- Array supports up to 20 items, each up to 200 characters