Merged
Conversation
- Dual-mode web UI updates - Database schema changes - Context capture working - Demo mode functional Preparing for Ralph to implement Phase 3 Semantic Blueprints autonomously. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created blueprints/ directory with subdirectories for: - frameworks/linkedin/ - Content structure patterns (STF, MRS, SLA, PIF) - workflows/ - Multi-step processes (Sunday Power Hour, Repurposing) - constraints/ - Brand voice and platform rules - templates/ - Handlebars prompt templates Added comprehensive README.md explaining: - Directory structure and purpose - Blueprint types (frameworks, workflows, constraints, templates) - Usage examples - File format specification - Design principles Tests: - Verify all required directories exist - Verify README exists and contains key sections - mypy: PASS - ruff: PASS - pytest: PASS (2 new tests, 64 total) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created blueprint loader module with caching and comprehensive error handling:
- load_framework(name, platform) - Load framework blueprints (STF, MRS, SLA, PIF)
- load_workflow(name) - Load workflow blueprints (SundayPowerHour, etc.)
- load_constraints(name) - Load constraint blueprints (BrandVoice, etc.)
- clear_cache() - Cache invalidation support
- list_blueprints() - Discovery of available blueprints
Features:
- In-memory caching for performance (controllable via use_cache param)
- YAML parsing with PyYAML
- Graceful error handling for missing files
- Type hints and comprehensive docstrings
- Cache key pattern: "{type}:{platform}:{name}"
Dependencies added:
- pyyaml==6.0.3
- types-pyyaml==6.0.12.20250915 (dev)
Tests:
- 13 new tests covering:
- Successful blueprint loading
- File not found errors
- Invalid YAML handling
- Caching behavior (full and selective)
- Blueprint discovery
- mypy: PASS
- ruff: PASS
- pytest: PASS (77 total tests)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created template renderer module for Handlebars-style templates using Chevron:
- render_template(name, context) - Render template from blueprints/templates/
- render_template_string(template, context) - Render template string directly
- get_templates_dir() - Get templates directory path
Features:
- Mustache/Handlebars template syntax via Chevron
- Support for variables, loops, conditionals, nested objects
- HTML entity escaping by default for safety
- Graceful error handling with clear error messages
- Type hints and comprehensive docstrings
Template syntax (Chevron-compatible):
- Variables: {{variable}}
- Loops: {{#items}}{{.}}{{/items}}
- Conditionals: {{#condition}}...{{/condition}}
- Inverted: {{^condition}}...{{/condition}}
- Nested: {{user.name}}
Dependencies added:
- chevron==0.14.0
Tests:
- 12 new tests covering:
- Simple variable substitution
- Complex templates with loops and nested data
- File not found errors
- Missing variables (rendered as empty string)
- Conditionals and inverted sections
- Nested object access
- HTML entity escaping
- Unicode support
- mypy: PASS
- ruff: PASS
- pytest: PASS (89 total tests)
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added Blueprint model to database schema for optional blueprint caching: - id (Integer, primary key) - name (String, blueprint name) - category (String, framework/workflow/constraint) - platform (String, nullable - for framework platform, NULL for workflows/constraints) - data (JSON, parsed YAML blueprint data) - version (String, optional versioning) - created_at, updated_at (DateTime, timestamps) Database changes: - Added JSON import to sqlalchemy for JSON column type - Created Blueprint model class with relationships and repr - Generated Alembic migration: 4864d1c47cec - Ran migration successfully: blueprints table created Tests: - 8 comprehensive tests covering: - Create blueprint record - Read blueprint record - Update blueprint (data + version) - Delete blueprint record - Query by category - repr method - NULL platform handling (workflows/constraints) - Complex JSON data persistence - All tests use setattr() to avoid mypy assignment errors with Column types - pytest: PASS (97 total tests, 8 new) Note: Pre-existing mypy errors in database.py (Session name conflict, type annotations) not fixed as they're unrelated to this story. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added blueprints CLI group to manage content blueprints:
- `content-engine blueprints list` - List all available blueprints
- `--category` option to filter by frameworks/workflows/constraints
- Displays blueprints grouped by category with nice formatting
Implementation:
- Added @cli.group() for blueprints command group
- list command queries blueprint_loader.list_blueprints()
- Displays results in organized format with category headers
- Error handling with logger integration
CLI output format:
```
📋 Available Blueprints
FRAMEWORKS:
• linkedin/STF
• linkedin/MRS
WORKFLOWS:
• SundayPowerHour
CONSTRAINTS:
• BrandVoice
```
Tests:
- 4 new CLI tests using Click's CliRunner:
- Empty blueprints list
- Category filtering
- List with actual YAML files
- Help command
- All tests use monkeypatch to mock blueprints directory
- pytest: PASS (101 total tests, 4 new)
Manual testing:
- uv run content-engine blueprints list ✓
- uv run content-engine blueprints --help ✓
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created blueprints/frameworks/linkedin/STF.yaml - Comprehensive Storytelling Framework (Problem/Tried/Worked/Lesson) - Includes structure, validation rules, compatible pillars, examples - Added best practices, anti-patterns, voice guidelines - 10 unit tests validating YAML structure and content - All tests pass (111 total) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created blueprints/frameworks/linkedin/MRS.yaml - Comprehensive Mistake-Realization-Shift framework definition - 3 sections: Mistake, Realization, Shift (vulnerability-driven) - Includes validation rules, compatible pillars, examples - Added best practices, anti-patterns, voice guidelines - 11 unit tests validating YAML structure and content - All tests pass (122 total) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created blueprints/frameworks/linkedin/SLA.yaml - Comprehensive Story-Lesson-Application framework definition - 3 sections: Story, Lesson, Application (narrative teaching format) - Includes validation rules, compatible pillars, examples - Added best practices, anti-patterns, voice guidelines - 11 unit tests validating YAML structure and content - All tests pass (133 total) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created blueprints/frameworks/linkedin/PIF.yaml - Comprehensive Poll and Interactive Format framework - 4 sections: Hook, Interactive_Element, Context, Call_to_Action - Includes validation rules, compatible with ALL pillars - 3 detailed examples (poll, open question, discussion) - Added best practices, anti-patterns, voice guidelines - Added engagement_tactics section (unique to PIF) - 12 unit tests validating YAML structure and content - All tests pass (145 total) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created blueprints/constraints/BrandVoice.yaml - Austin's brand voice characteristics and content constraints - 5 core characteristics: technical_but_accessible, authentic, confident, builder_mindset, specificity_over_generic - Forbidden phrases (4 categories): corporate_jargon, hustle_culture, empty_motivational, vague_business_speak - Style rules: narrative_voice, structure, tone, technical_communication - Content principles and validation flags (red/yellow/green) - 10 unit tests validating YAML structure and content - All tests pass (155 total) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created ContentPillars.yaml with four content pillars and distribution rules: - what_building (35%): Share current projects and building journey - what_learning (30%): Document learning and knowledge synthesis - sales_tech (20%): Sales + tech intersection, AI-powered performance - problem_solution (15%): Identify pain points, provide solutions Each pillar includes: - Description, percentage, examples - Characteristics and themes - Distribution rules (3-7 posts/week, ideal 5) - Validation rules for balance tracking - Content principles for pillar selection Added comprehensive tests (11 tests) validating: - Four pillars with correct percentages (total 100%) - Pillar structure (name, description, examples, characteristics, themes) - Distribution rules (weekly min/max/ideal) - Validation rules (balance checks, drift warnings) - Content principles and examples Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created lib/blueprint_engine.py with core validation functions: validate_content(content, framework, platform) -> ValidationResult: - Validates content against framework structure requirements - Checks character length (min/max from framework YAML) - Detects brand voice violations - Calculates quality score (0.0-1.0) - Returns violations, warnings, and improvement suggestions check_brand_voice(content) -> List[violations]: - Checks content against BrandVoice constraint - Detects forbidden phrases from 4 categories - Checks for red flags - Case-insensitive matching select_framework(pillar, context) -> framework_name: - Selects appropriate framework based on content pillar - Default mappings: what_building→STF, what_learning→MRS, etc. - Context-aware overrides (poll keywords→PIF, mistake keywords→MRS) - Smart fallback to STF for unknown pillars Added comprehensive tests (22 tests): - validate_content with all 4 frameworks (STF/MRS/SLA/PIF) - Character length validation (too short/long) - Score calculation based on violations - Brand voice checks (forbidden phrases, case sensitivity) - Framework selection for all 4 pillars - Context-based framework overrides - ValidationResult dataclass structure Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created blueprints/templates/LinkedInPost.hbs Mustache template for LLM prompts:
Template structure:
- CONTEXT: Austin's themes, decisions, and recent progress
- CONTENT PILLAR: Pillar name, description, and characteristics
- FRAMEWORK: Framework sections with guidelines
- BRAND VOICE CONSTRAINTS: Characteristics, forbidden phrases, style rules
- VALIDATION REQUIREMENTS: Character limits, section counts, quality criteria
- TASK: Specific instructions for LLM to generate post
Template variables:
- {{context}}: themes, decisions, progress arrays
- {{pillar_name}}, {{pillar_description}}, {{pillar_characteristics}}
- {{framework_name}}, {{framework_sections}}
- {{brand_voice_characteristics}}, {{forbidden_phrases}}, {{brand_voice_style}}
- {{validation_min_chars}}, {{validation_max_chars}}, {{validation_min_sections}}
Added comprehensive tests (8 tests):
- Template renders successfully with all data
- Includes context sections (themes/decisions/progress)
- Includes framework sections (Problem/Tried/Worked/Lesson for STF)
- Includes brand voice constraints (characteristics, forbidden phrases)
- Includes validation requirements (char limits, section counts)
- Works with all frameworks (STF, MRS, PIF)
- Handles empty context gracefully
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Created agents/linkedin/content_generator.py with blueprint-based content generation: generate_post(context, pillar, framework, model, max_iterations) -> GenerationResult: - Auto-selects framework based on pillar if not specified - Loads framework blueprint, brand voice, and pillar constraints - Prepares template context and renders LinkedInPost.hbs prompt - Calls Ollama LLM (llama3:8b default) for content generation - Iterative refinement loop (max 3 attempts) with validation feedback - Returns best attempt with validation score, violations, iteration count _prepare_template_context(context, pillar, framework, brand_voice, pillars): - Transforms YAML blueprint data into template-ready format - Extracts pillar characteristics (list of single-key dicts) - Flattens forbidden phrases from all categories (limited to 15) - Converts style rules list to comma-separated descriptions - Builds complete context dict for LinkedInPost.hbs template GenerationResult dataclass: - content: generated post text - framework_used: STF/MRS/SLA/PIF - validation_score: 0.0-1.0 quality score - is_valid: True if passes all validation rules - iterations: number of generation attempts - violations: list of validation errors Added comprehensive tests (13 tests): - Auto-selects framework based on pillar - Uses specified framework - Returns valid content on first try - Retries on invalid content with feedback - Returns best attempt after max iterations - Raises AIError on first failure - Handles refinement failure gracefully - Works with all frameworks (STF/MRS/PIF) - Supports custom models - Template context preparation - Limits forbidden phrases to 15 - Handles empty context Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implemented blueprint-based content generation CLI command. Features: - --pillar option (required): what_building, what_learning, sales_tech, problem_solution - --framework option (optional): STF, MRS, SLA, PIF (auto-selected if not specified) - --date option (optional): YYYY-MM-DD format, defaults to today - --model option (optional): Ollama model, defaults to llama3:8b Workflow: 1. Read session history and project notes 2. Synthesize daily context with Ollama 3. Generate post using blueprint system 4. Validate with iterative refinement 5. Save as DRAFT to database 6. Display preview and next steps Tests: - 14 comprehensive tests covering all options and error cases - Mocked LLM, database, and file system for isolated testing - All tests pass Quality checks: - ruff: PASS (test file clean) - pytest: PASS (14 new tests) - mypy: Pre-existing errors only (no new issues) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implemented comprehensive weekly batching workflow for LinkedIn content generation. Workflow Structure: - 5 sequential steps: Context Mining → Pillar Categorization → Framework Selection → Batch Writing → Polish & Schedule - Total duration: 100 minutes (15+10+5+60+10) - Target output: 10 posts distributed across 4 pillars - Each step includes: name, duration, description, inputs, outputs, prompt_template Step Details: 1. Context Mining (15 min): Extract 15-20 ideas from past week's sessions/projects 2. Pillar Categorization (10 min): Select top 10 ideas, assign to pillars (35/30/20/15% distribution) 3. Framework Selection (5 min): Choose STF/MRS/SLA/PIF for each post based on pillar 4. Batch Writing (60 min): Generate all 10 posts in deep focus with validation 5. Polish & Schedule (10 min): Review low-scoring posts, create posting schedule Batching Benefits: - Context switching savings: 92 minutes per week (100 min traditional → 8 min batched) - Additional benefits: deeper flow state, consistent voice, strategic distribution, front-loaded week Metadata: - Platform: LinkedIn - Frequency: weekly - Difficulty: intermediate - Prerequisites: 7 days session history, Ollama, 5+ themes/decisions - Success criteria: 10 posts, avg score > 0.8, all pillars represented Tests: - 19 comprehensive tests covering all workflow aspects - Validates YAML structure, step definitions, prompt templates - Checks benefits documentation, prerequisites, success criteria - Verifies example output structure and pillar distribution - All tests pass Quality checks: - ruff: PASS (clean) - pytest: PASS (19 new tests, 229 total) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implemented comprehensive repurposing workflow that transforms one core idea into 10 content pieces across multiple platforms. Key features: - 5 sequential steps: idea_extraction, platform_mapping, content_adaptation, cross_linking, validation_and_polish - Multi-platform support: LinkedIn, Twitter, Blog, Visual, Video - Platform-specific constraints and optimization - Pillar-specific repurposing templates - Cross-promotion strategy and content loops - Efficiency multiplier: 10x content from 1 idea (105 min savings per batch) Files: - blueprints/workflows/Repurposing1to10.yaml - tests/test_repurposing_workflow.py (18 tests) Quality checks: - mypy: PASS - ruff: PASS - pytest: PASS (260 total tests) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created comprehensive post validation system - Validates framework structure, brand voice, platform rules - Severity levels: ERROR, WARNING, SUGGESTION - ValidationReport with score calculation (0.0-1.0) - 30 tests covering all validation paths - mypy + ruff + pytest all pass Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…ipeline - Replaced simple validate_content() with comprehensive validate_post() - Uses new post_validator.py for framework, brand voice, and platform validation - Iterative refinement now provides detailed violation feedback with suggestions - Generate -> Validate -> Refine loop (max 3 attempts) - Violations categorized by severity (ERROR/WARNING/SUGGESTION) - Returns best attempt if max iterations reached - Added 2 new tests for comprehensive validation refinement - Updated existing test expectations for realistic validation scores - All 340 tests pass
- Added validate command to CLI with post_id argument and --framework option - Comprehensive validation report with color-coded output (green/yellow/red) - Displays errors (must fix), warnings (should fix), suggestions (optional) - Shows validation score and detailed feedback for each violation - Exit code 0 for pass, 1 for fail (based on ERROR-level violations) - Added 10 comprehensive tests covering all validation scenarios - All 350 tests pass
- Added show command to blueprints CLI group - Auto-detects blueprint type (framework/workflow/constraint) - Displays formatted YAML with pretty-printed structure - Shows type-specific summaries (sections, steps, pillars, etc.) - Optional --platform flag for framework blueprints - Color-coded output with helpful metadata - Added 9 comprehensive tests covering all blueprint types - All 359 tests pass
- Comprehensive E2E tests for full Phase 3 pipeline - Tests all 4 frameworks (STF, MRS, SLA, PIF) with parameterization - Tests all 4 content pillars (what_building, what_learning, sales_tech, problem_solution) - Validates complete workflow: Context → Generate → Validate → Save - Tests iterative refinement and quality improvement - Tests framework-specific validation rules enforcement - Documents test coverage (372 total tests, 282+ Phase 3 tests) - All quality checks pass (mypy, ruff, pytest) Test Coverage Summary: - 13 integration tests covering full pipeline - Tests with mocked LLM and database - Parametrized tests for comprehensive coverage - Validates violation detection and refinement - Documents Phase 3 contribution: 250+ new tests
All 26 user stories completed successfully! Phase 3 Summary: - 283 new tests (372 total) - 4 frameworks (STF, MRS, SLA, PIF) - 3 constraints (BrandVoice, ContentPillars, PlatformRules) - 2 workflows (SundayPowerHour, Repurposing1to10) - 5 CLI commands (blueprints list/show, generate, validate, sunday-power-hour) - Comprehensive validation engine - Iterative refinement system - 100% test pass rate
- Archive Phase 3 completed PRD - Update prd.json with Phase 4 stories (AN-001 to AN-005) - Update RALPH_STATUS.md for Phase 4 tracking
- Remove unused imports and variables - Fix Session naming conflict in database.py (Session -> SQLASession import) - Replace == True with boolean checks - Replace == None with is None - Remove f-string prefixes on static strings All 403 tests passing. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created comprehensive test suite for agents/linkedin/analytics.py - 31 tests covering all LinkedInAnalytics methods: - Initialization and configuration - get_post_analytics() with mocked API responses - save_post_with_metrics() JSONL creation - load_posts() JSONL parsing - update_posts_with_analytics() batch updates - Error handling (timeouts, 401, malformed responses) - Post and PostMetrics dataclasses - Mocked requests library (no real LinkedIn API calls) - All quality checks pass: - pytest: 31/31 tests passing - mypy: Success (with no-untyped-def disabled for test file) - ruff: Clean
**Implemented:** - Created tests/test_collect_analytics_cli.py with 12 comprehensive tests - Updated README.md with analytics CLI usage section - Tests verify collect-analytics command functionality: - Access token loading from environment or database - --days-back flag (default: 7 days) - --test-post flag for single post analytics - Missing token error handling - Missing posts.jsonl error handling - Successful analytics updates - Exception handling **Files changed:** - tests/test_collect_analytics_cli.py (new - 12 tests) - README.md (added LinkedIn Analytics Collection section) **Learnings:** - CLI command already implemented in cli.py (lines 845-928) - Patch os.getenv (not cli.os.getenv) for environment variable mocking - Patch agents.linkedin.analytics.LinkedInAnalytics for class mocking - Click's CliRunner.isolated_filesystem() provides test isolation - Test both environment and database token loading paths **Tests:** - pytest: PASS (415 total tests, 12 new) - ruff: PASS (clean code) - mypy: Pre-existing database errors only (not related to this story) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Added comprehensive schema documentation for data/posts.jsonl: - Full JSON schema with example - Field descriptions for all properties - Metrics object structure and field meanings - Usage examples for adding posts manually and fetching analytics Also created data/posts.jsonl with New Year post entry. Note: Actual analytics fetching requires LinkedIn Analytics app setup (see LINKEDIN_ANALYTICS_SETUP.md) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implemented comprehensive analytics dashboard for LinkedIn posts. Features: - Display summary table with post ID, date, engagement rate, likes, comments - Calculate and display average engagement rate - Identify and highlight best/worst performing posts - Export analytics to CSV with --export-csv flag - Graceful handling of missing metrics (prompts to run collect-analytics) Tests: - 24 comprehensive tests covering all functionality - Load posts with/without metrics - Display formatting and calculations - CSV export with proper headers and data - Command-line argument handling Documentation: - Added Analytics Dashboard section to README.md - Usage examples for both display and CSV export - Clear explanation of dashboard features Quality: - mypy: PASS (type-safe) - ruff: PASS (clean code) - pytest: PASS (24 new tests, all passing) Usage: python scripts/analytics_dashboard.py python scripts/analytics_dashboard.py --export-csv results.csv Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Implemented automated daily LinkedIn analytics collection using systemd. Files created: - systemd/linkedin-analytics.service - Systemd service to run collect-analytics - systemd/linkedin-analytics.timer - Timer to run daily at 10:00 AM Documentation: - Updated DEPLOYMENT_CHECKLIST.md with comprehensive systemd setup guide - Added Step 7: Set Up Systemd Timers section - Documented both Context Capture and LinkedIn Analytics timers - Included prerequisites, installation steps, and verification commands - Added testing checklist items for systemd timers Service features: - Runs daily at 10:00 AM (configurable via timer) - Logs to analytics.log and analytics-error.log - Supports LINKEDIN_ACCESS_TOKEN from environment or database - Type=oneshot for one-time execution per trigger - Persistent=true ensures missed runs are caught up Setup commands: sudo cp systemd/linkedin-analytics.* /etc/systemd/system/ sudo systemctl daemon-reload sudo systemctl enable linkedin-analytics.timer sudo systemctl start linkedin-analytics.timer Verification: systemctl list-timers --all | grep linkedin-analytics journalctl -u linkedin-analytics.service Tests: - pytest: PASS (408 tests, all passing) - No code changes, only systemd config files Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Created AWS_BEDROCK_INTEGRATION.md with complete cost analysis - Cost breakdown: /usr/bin/bash.12/month for 30 posts (< budget target) - Safety measures: Budget alerts, rate limiting, code-level caps - Architecture options: CLI-only, EC2, Lambda, S3 sync - Implementation plan with testing phases - Interview talking points and demo scripts - MCP integration strategy - Updated README.md with Phase 3 completion status - Added Bedrock to technical stack - Updated roadmap showing 26/26 stories complete - Added production readiness metrics and ROI For interview preparation - production AI experience on AWS. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
- Moved AWS_BEDROCK_INTEGRATION.md to ~/Documents/Folio/1-Projects/ContentEngine/ - Updated README.md references to point to Folio - Keeping repo lean: operational docs only - Planning/research/interview prep belongs in Folio Repo should be clean and focused on setup/usage. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Moved to ~/Documents/Folio/1-Projects/ContentEngine/: - DEMO_PREPARATION.md - FULL_AUTOMATION.md - VIDEO_AUTOMATION_ROADMAP.md - CI_CD_SETUP.md - LOOM_SCRIPT.md - RALPH_STATUS.md - ANALYTICS_CREDENTIALS_NOTE.md - GET_ANALYTICS_TOKEN_CHECKLIST.md - LINKEDIN_ANALYTICS_SETUP.md - MIGRATION_GUIDE.md Repo now has only operational docs: - README.md - AGENTS.md - ARCHITECTURE.md - DATABASE.md - DEPLOYMENT_CHECKLIST.md - CLOUDFLARE_TUNNEL.md Planning/research/interview prep belongs in Folio. Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Brand Planner with pillar distribution, game selection, and framework assignment. MCP server with SQLite job queue for content scheduling. ContentStrategy blueprint for traffic vs building-in-public decisions. Updated SundayPowerHour workflow, CLI commands, Docker config, and database schema with Alembic migrations. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Owner
Author
|
@copilot take a look at this repo |
|
@eccentricnode I've opened a new pull request, #2, to work on those changes. Once the pull request is ready, I'll request review from you. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.