Summary
The day spanned work in flask-workouts, cloud, job-desc, from a new Flask API project with follow-on tests and tooling to cloud deployment/CI notes and job-material evidence capture. Total changes: 24 unique files touched, +1728/-43 across 7 unique commits.
Content Signals
Strong: Building a small API from zero to tested, linted, and documented is a strong learning-and-systems story. Rationale: The Flask-workouts sequence shows a clean arc from initial implementation to test coverage, tooling, and developer docs in the same day, which makes the progression concrete and easy to explain.
Medium: Treating job applications like a maintained operating system remains a reusable content angle. Rationale: The day's job-desc work again looks like structured packet building rather than one-off editing, which supports a broader story about creating repeatable career tooling.
flask-workouts
Flask-workouts bootstrapped a small CRUD API, added tests, tightened linting, and documented the local workflow.
Repo changes: 13 unique files touched, +1219/-10 across 4 unique commits.
a475388aa942Initial commit: Flask + SQLAlchemy 2.0 CRUD API- Time: 10:23 AM
- Branches:
mainorigin/main
- Changes: 11 files, +926/-0
- Body:
- Minimal workout-log API built to get hands-on with the Flask + SQLAlchemy
- stack. Managed with uv. Includes a docs/ syntax tour tying each ORM idiom
- (dirty tracking, selectinload/N+1, raw-SQL CTE + window function) to the
- endpoint that uses it.
- Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Files:
.gitignoremodified (+7/-0)README.mdmodified (+58/-0)app/__init__.pymodified (+34/-0)app/extensions.pymodified (+18/-0)app/models.pymodified (+54/-0)app/routes.pymodified (+143/-0)docs/sqlalchemy-orm.mdmodified (+203/-0)pyproject.tomlmodified (+19/-0)run.pymodified (+8/-0)seed.pymodified (+27/-0)uv.lockmodified (+355/-0)
2b61cc426001Add pytest suite for the API- Time: 10:27 AM
- Branches:
mainorigin/main
- Changes: 4 files, +235/-0
- Body:
- 14 black-box tests over Flask's test client, each backed by an isolated
- in-memory SQLite DB (StaticPool). Covers CRUD, 400/404 paths, delete
- cascade, volume-ordered listing, and the CTE + RANK() stats endpoint.
- pytest added as a uv dev dependency group.
- Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Files:
pyproject.tomlmodified (+8/-0)tests/conftest.pyadded (+48/-0)tests/test_api.pyadded (+119/-0)uv.lockmodified (+60/-0)
11a2a152cf44Add ruff and fix lint/format findings- Time: 10:31 AM
- Branches:
mainorigin/main
- Changes: 4 files, +43/-10
- Body:
- Add ruff to the uv dev group. Ruff flagged an unused
deleteimport in - routes.py (removed) and reformatted routes.py and tests/conftest.py.
ruff checkandruff format --checknow pass; 14 tests still green.- Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Add ruff to the uv dev group. Ruff flagged an unused
- Files:
app/routes.pymodified (+2/-4)pyproject.tomlmodified (+2/-2)tests/conftest.pymodified (+9/-3)uv.lockmodified (+30/-1)
734db3ce433cdocs: add Development section with test/lint/format commands- Time: 1:56 PM
- Branches:
mainorigin/main
- Changes: 1 files, +15/-0
- Body:
- Document the uv run pytest and ruff check/format commands in the README.
- Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Files:
README.mdmodified (+15/-0)
cloud
Cloud captured deployment and infrastructure guidance updates in runbook-style documentation.
Repo changes: 9 unique files touched, +400/-33 across 2 unique commits.
fb87d793d971fix: ASCII-only SG descriptions; correct README build path & bash password example- Time: 2:34 PM
- Branches:
mainorigin/main
- Changes: 2 files, +16/-4
- Body:
- AWS rejects non-ASCII in security group descriptions (InvalidParameterValue:
- Character sets beyond ASCII are not supported). Replaced em dashes with plain
- hyphens in both SG descriptions so terraform apply succeeds.
- Also fixed two README errors surfaced while running the loop in bash:
- docker build path was "." but the Dockerfile is at the repo root (../..)
- password example was PowerShell-only; added a bash export variant
- added an ASCII-only gotcha with the exact error string
- Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Files:
terraform/aws/README.mdmodified (+14/-2)terraform/aws/security_groups.tfmodified (+2/-2)
e414bf4bac17feat: GitHub Actions CI/CD to ECS via OIDC; force_delete on ECR- Time: 4:09 PM
- Branches:
mainorigin/main
- Changes: 7 files, +384/-29
- Body:
- Adds an automated deploy pipeline that builds the CloudDeck image and rolls it
- out to ECS Fargate, authenticated by GitHub OIDC federation instead of stored
- AWS access keys.
- cicd.tf: GitHub OIDC identity provider + a deploy IAM role. Trust policy pins
- aud=sts.amazonaws.com AND sub=repo:Andrewy-gh/cloud:ref:refs/heads/main (the
- security boundary). Least-privilege inline policy: ECR push scoped to the repo
- ARN, ecs:UpdateService scoped to the service ARN, Register/DescribeTaskDef and
- GetAuthorizationToken at * (AWS won't scope them), iam:PassRole on the
- execution role.
- variables.tf: github_repo, github_deploy_branch inputs.
- outputs.tf: github_actions_role_arn (set as GitHub repo variable
- AWS_DEPLOY_ROLE_ARN; it isn't a secret).
- .github/workflows/deploy.yml: on push to main (+ manual dispatch), OIDC login
- -> build -> push image tagged by git SHA -> render new task-def revision from
- the TF-owned base -> deploy. Requires permissions: id-token: write.
- ecs.tf: ignore_changes=[task_definition] so the pipeline (SHA-tagged
- revisions) and Terraform don't fight over the running revision.
- ecr.tf: force_delete=true so
terraform destroyremoves a non-empty repo
- ecr.tf: force_delete=true so
- instead of orphaning it (RepositoryNotEmptyException, hit this session).
- HANDOFF.md: record the scaffold, the ECR teardown lesson, next steps.
- Scaffold only: validated (plan = 18 to add), not yet applied or wired to GitHub.
- Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Files:
.github/workflows/deploy.ymladded (+97/-0)HANDOFF.mdmodified (+108/-29)terraform/aws/cicd.tfadded (+129/-0)terraform/aws/ecr.tfmodified (+8/-0)terraform/aws/ecs.tfmodified (+10/-0)terraform/aws/outputs.tfmodified (+12/-0)terraform/aws/variables.tfmodified (+20/-0)
job-desc
Job-desc expanded role packets and support notes, continuing the reusable application-material system.
Repo changes: 2 unique files touched, +109/-0 across 1 unique commits.
bbed0fac38a8docs: add benchmarked urban league performance findings to resume context- Time: 4:11 PM
- Branches:
mainorigin/main
- Changes: 2 files, +109/-0
- Body:
- Fold verified July 2026 before/after benchmarks for PRs #611, #697, #699
- into the Urban League project context and accomplishment index, with
- honesty caveats (local/mocked timings; PR #611 is API-efficiency, not a
- page-load speedup).
- Co-Authored-By: Claude Opus 4.8 noreply@anthropic.com
- Files:
resume-context/accomplishment-index.mdmodified (+46/-0)resume-context/projects/urban-league-heat-pump-accelerator.mdmodified (+63/-0)
Run Details
- Scanned folders: 61
- Git repos scanned: 44
- Repos with commits: 3 logical repos
- Physical repos with matching commits: 3
- Repos without commits: 41
- Skipped non-Git folders: 16
- Excluded repos: 1 (
commit-journal) - Deduplicated duplicate clone/worktree commit entries: 0
- Matched identities:
- GitHub user:
Andrewy-gh - GitHub name:
Andy - Local Git name:
Andrewy-gh - Local Git email:
andrewydev6@gmail.com
- GitHub user: