Skip to content

Releases: rodmen07/portfolio

v1.3.2: Client Portal Dashboard

Choose a tag to compare

@rodmen07 rodmen07 released this 02 Jun 03:03

Full-featured React 19 client portal for project tracking...

v1.3.1 — Productionizer Agent

Choose a tag to compare

@rodmen07 rodmen07 released this 15 Apr 07:02

v1.3.1 — Productionizer Agent

Autonomous Gemini 2.5 Flash agent runs on a daily GitHub Actions cron. Each run picks one microservice + one gap from a 55-task matrix (11 services × 5 gap types), generates the fix via tool calling, verifies it with cargo clippy + cargo test, and opens a PR against the microservices repo. The agent self-reverts on any verification failure.

Highlights

  • agents/productionizer/ — Python module using google-genai SDK with gemini-2.5-flash
  • 55-task matrix: 11 Rust/Axum services × 5 gap types (structured-logging, dynamic-health, error-details, audit-error-handling, error-path-tests)
  • Verification pipeline: clippy → integration tests → commit → push → PR. Failure = auto-revert
  • productionizer.yml: daily cron at 06:00 UTC + workflow_dispatch with force_service / force_gap overrides
  • State persisted in repo (state.json) — skips already-completed tasks across runs

v1.2 — Operational Maturity

Choose a tag to compare

@rodmen07 rodmen07 released this 12 Apr 11:18

v1.2 — Operational Maturity

Four sub-releases shipping production operations capabilities across all 11 microservices.

v1.2.1 — Data Export Pipeline

  • Bulk CSV & JSON export from reporting-service (GET /api/v1/reports/export?format=csv|json)
  • Admin export modal in the frontend

v1.2.2 — Audit Trail & Compliance

  • New Rust/Axum audit-service — immutable CRM mutation log in PostgreSQL (Cloud SQL)
  • All CRM services fire-and-forget audit events after each mutation
  • Admin audit trail page in InfraPortal

v1.2.3 — Portfolio Observability

  • CRM services emit structured events to Observaboard after each mutation
  • New admin service health dashboard polling all 11 /health endpoints with 30s auto-refresh

v1.2.4 — Service Resilience & Testing

  • E2E integration test suite covering all 11 services
  • k6 load test suite (smoke / load / spike scenarios, p95 < 2s target)
  • Chaos engineering runbook: docs/chaos-runbook.md

Stack: Rust · Axum · PostgreSQL · Google Cloud Run · GitHub Actions

v1.1.1 — Vertex AI SecondBrain Phase A

Choose a tag to compare

@rodmen07 rodmen07 released this 09 Apr 22:24

What's new

Phase A of the Vertex AI SecondBrain prototype: a FastAPI service that grounds query responses in a Google Drive document corpus via Vertex AI Agent Builder. Drive file ingestion, agent query, and graceful degradation when GCP credentials are absent are all wired and covered by tests.

Vertex AI Agent Builder

  • app/agent.py: query routed through google-cloud-discoveryengine; returns answer + citations. Gracefully degrades to a stub response when VERTEX_PROJECT_ID / VERTEX_DATA_STORE_ID env vars are absent — safe for local dev without GCP credentials.
  • _TEST_AGENT_CLIENT hook allows unit tests to inject a mock client without patching internals.
  • requirements.txt: google-cloud-discoveryengine>=0.11.0 added.

Drive connector & ingest endpoint

  • app/drive_connector.py: DriveConnector.from_env() — loads credentials from GOOGLE_APPLICATION_CREDENTIALS or falls back to Application Default Credentials.
  • POST /ingest/drive: downloads a Drive file by ID, runs it through ingest_file(), returns { answer, citations, source, file_id }.
  • All 8 tests passing: test_agent, test_drive_connector, test_drive_ingest, test_ingest.

v1.1 — CI/CD Pipeline & DevEx

Choose a tag to compare

@rodmen07 rodmen07 released this 09 Apr 22:24

What's new

Two-stage CI runner image pipeline shipped across the full workspace. A custom Docker runner image (Rust + Go + Python toolchain baked in) is built once and pushed to GCP Artifact Registry via OIDC, then reused across all test/lint/audit jobs — eliminating per-job toolchain install time.

CI/CD pipeline

  • build-runner-image.yml: builds a project-specific Docker image with Rust, Go, Python, and all toolchain deps pre-installed; pushes to Artifact Registry via OIDC.
  • run-tests-with-runner-image.yml: pulls the runner image and runs all workspace tests in a single container — cargo test, pytest, go test — with log artifacts collected per project.
  • run_workspace_tests.sh: auto-inits submodules on first run, creates cross-platform Python venv, caps test log output at 100KB per project to prevent artifact bloat.
  • gcp-setup.sh gains NONINTERACTIVE=1 mode for use in headless CI environments without TTY prompts.
  • Docs added: docs/ci-test-summary.md (latest run summary + artifact pointers), docs/gcp-setup.md (Cloud Run + IAM + OIDC reference).

Frontend UX

  • Motion override toggle: lets users pause all CSS animations site-wide; state persists across navigation.
  • Animation replay: replay button re-triggers entrance animations on demand without a page reload.
  • Dynamic hero tagline: cycles through tagline variants on a configurable interval.
  • Gradient pulse badge + slide-over panel: new visual components added to the marketing home page.

v1.0 — Client Portal

Choose a tag to compare

@rodmen07 rodmen07 released this 29 Mar 14:23

What's in v1.0

Client portal — clients sign in via GitHub or Google OAuth, receive a client-role JWT, and see their assigned projects, milestones, and deliverables.

projects-service — new Rust/Axum service: projects, milestones, and deliverable CRUD with client-scoped JWT access. Deployed to GCP Cloud Run (us-central1).

Admin provisioning UI — admin dashboard page to create projects, add milestones/deliverables inline, and assign each project to a specific client user (by OAuth subject ID).

GCP Cloud Run migration — all 11 backend services migrated from Fly.io to Cloud Run (scale-to-zero). GitHub Actions OIDC + Workload Identity Federation — zero long-lived credentials. Artifact Registry for images, Secret Manager for secrets. Fly.io fully decommissioned (11 apps destroyed).

Services

  • auth-service, go-gateway, projects-service, accounts-service, contacts-service, activities-service, automation-service, integrations-service, opportunities-service, reporting-service, search-service → GCP Cloud Run
  • dashboard, task-api-service, ai-orchestrator, observaboard, event-stream-service → remain on Fly.io

Tech

Rust · Axum 0.8 · SQLite · Go · Python · FastAPI · React 19 · GitHub Actions · OIDC · GCP Cloud Run · Artifact Registry · Secret Manager

v0.4.3 — Go Service

Choose a tag to compare

@rodmen07 rodmen07 released this 18 Mar 02:31

Adds event-stream-service: a standalone Go SSE hub with goroutine-based fan-out, JWT-authenticated publishing, and ring buffer replay. Third backend language in the portfolio alongside Rust and Python.