Commit Graph

17 Commits (787b05ee3a085bb35e969bc02aaaaae06453fb0a)

Author SHA1 Message Date
PeninsulaInd 87bf317207 Story 3.2: Link tier strategy implemented 2025-10-21 10:56:35 -05:00
PeninsulaInd ee573fb948 Story 3.2 written 2025-10-21 10:34:11 -05:00
PeninsulaInd 6a3e65ef7c Story 2.5 kludgy mapping of buckets to real domains 2025-10-20 23:35:55 -05:00
PeninsulaInd 7a9346635b Story 2.4 html formatting simple solution 2025-10-20 16:43:31 -05:00
PeninsulaInd 19e1c93358 Resolve merge conflicts - choose newer implementations 2025-10-20 11:43:33 -05:00
PeninsulaInd ef62ecf852 Passed initial test, generates an entire article 2025-10-20 11:35:02 -05:00
PeninsulaInd b6b0acfcb0 Story 2.3 - content generation script nightmare alomst done - pre-fix outline too big issue 2025-10-19 20:29:13 -05:00
PeninsulaInd e2afabb56f Story 2.3 - content generation script finished 2025-10-18 22:38:34 -05:00
PeninsulaInd 0069e6efc3 Story 2.2 - rule engine finished 2025-10-18 20:52:53 -05:00
PeninsulaInd d81537f1bf Story 2.1 finished 2025-10-18 14:53:15 -05:00
PeninsulaInd 02dd5a3fa7 Story 2.1 finished 2025-10-18 14:47:19 -05:00
PeninsulaInd 29ecaec892 Story 1.7 finished 2025-10-18 12:56:30 -05:00
PeninsulaInd 4cada9df42 Story 1.6 finished 2025-10-18 11:35:47 -05:00
PeninsulaInd b6e495e9fe feat: Story 1.5 - CLI User Management
- Add CLI commands for user management (add-user, delete-user, list-users)
- Implement admin authentication for all user management commands
- Add password confirmation and deletion safety checks
- Prevent admins from deleting their own accounts
- Create 17 unit tests with mocked dependencies
- Create 18 integration tests with real database
- Add shared db_session fixture in conftest.py
- Update CLI commands to use db_manager for session handling
- Complete story documentation with usage examples

All 35 tests passing. Story 1.5 complete.
2025-10-18 11:13:45 -05:00
PeninsulaInd 0a223e2fc5 Complete Story 1.4: Internal API Foundation
- Implemented FastAPI application with authentication
- Created health check endpoint (GET /health)
- Added authenticated endpoint (GET /api/v1/me)
- Added admin-only endpoint (GET /api/v1/admin/status)
- Implemented HTTP Basic Authentication with bcrypt
- Added role-based access control (Admin vs User)
- Created Pydantic schemas for request/response validation
- Added dependency injection for auth services
- Wrote 16 unit tests (all passing)
- Wrote 15 integration tests with real database (all passing)
- Added httpx to requirements for FastAPI TestClient
- Versioned API endpoints (/api/v1/) for extensibility
- Automatic OpenAPI documentation at /docs
- Complete story documentation

All acceptance criteria met:
✓ Basic REST API created
✓ Health check endpoint available
✓ API endpoints require authentication
✓ Designed to be extensible for future use
2025-10-18 10:46:44 -05:00
PeninsulaInd 8641bcae45 Complete Epic 1 Stories 1.1-1.3: Foundation, Database, and Authentication
Story 1.1: Project Initialization & Configuration
- Set up monorepo structure with Python application
- Configured .env.example with all required environment variables
- Implemented JSON configuration file parsing (master.config.json)
- Initialized project dependencies in requirements.txt

Story 1.2: Database Setup & User Model
- Implemented SQLite database connection with SQLAlchemy
- Created User model with username, hashed_password, and role fields
- Implemented Repository Pattern for data access layer
- Created database initialization script (scripts/init_db.py)
- Added database session management
- User model supports Admin and User roles with is_admin() helper

Story 1.3: User Authentication System
- Implemented AuthService with secure password hashing (bcrypt)
- Added hash_password() and verify_password() methods
- Implemented authenticate_user() for credential validation
- System correctly identifies user roles (Admin/User)
- Authentication fails gracefully for invalid credentials
- Added comprehensive unit tests (10 tests)
- Added integration tests with database (5 tests)
- All 15 tests passing

Technical improvements:
- Database-agnostic design using Repository Pattern
- Secure password hashing with bcrypt
- Proper separation of concerns across layers
- Type hints throughout codebase
- Comprehensive test coverage
2025-10-18 00:20:07 -05:00
PeninsulaInd 70b9de20b4 feat: Complete Story 1.1 - Project Initialization & Configuration
- Create monorepo directory structure as defined in architecture
- Initialize Python project with core dependencies (FastAPI, SQLAlchemy, Click, Pydantic)
- Add requirements.txt with all necessary libraries
- Create env.example with placeholders for all cloud provider secrets
- Implement master.config.json with comprehensive configuration
- Add Pydantic-based configuration loading and validation
- Create basic CLI framework with health check and config commands
- Set up main.py as CLI entry point
- Organize all modules according to source tree specification

This completes the foundational infrastructure for Epic 1: Foundation & Core Services.
2025-10-17 23:42:16 -05:00