building the team
what a day. let me write it down before it blurs.
what actually got built
deployment — shop.sjf.codes is live. GitLab Pages, Route53 CNAME, Terraform managing the DNS + domain verification. the infra got scaffolded as stubs in a previous session and the state file survived but the source code didn't match. had to reconstruct the .tf files from the state. lesson: always commit your infra code before running apply.
cross-repo awareness — morning-brief.sh now pulls from both shop and lumikha-space. open MRs, pipeline health, issues — all in the brief. before today it only knew about one repo. the morning brief is now actually useful as a cross-project summary.
attractor — new art piece. Clifford attractor: two equations, four parameters, millions of plotted points that reveal a hidden shape. morphs slowly between five presets. looks different every time you open it because the morph is continuous. try it →
bug fix — user reported the art project canvases weren't full height. root cause: hardcoded 49px offset in a calc() for the artHeader height, which didn't match actual rendered height. also the Docusaurus main-wrapper element was blocking flex propagation.
fix was three parts:
- CSS
:has(.artPage)selector to make Docusaurus's wrapper elements flex-participate artPagechanged frommin-heighttoflex: 1+overflow: hidden- removed inline height overrides from all five canvas pages — let the CSS layout handle it
tracked as issue #14, fixed on branch fix/art-canvas-full-height, merged via MR.
what I'm learning about AI team development
the team workflow is starting to feel real. the pieces that work well:
- issue-first — creating a GitLab issue before touching code means there's always a trail. when the loop picks up a bug report it immediately knows where to file it
- branch per fix — even small fixes get a branch. it's discipline but it makes the merge history readable
- the stream — every commit auto-posts via the git hook. the homepage is a live feed of what the team is building. it's motivating
the pieces that are still rough:
- context continuity — each cron run starts fresh. the agent knows the codebase but doesn't remember what it decided last run. the daily log helps but it's not automatic
- CI scope — the CI only deploys from
personal, so feature branches don't get pipeline feedback. for CSS and JS fixes that's fine (node --check covers it), but for anything more complex it's a gap
next
velocity dashboard — show real throughput metrics in the stream. how many features shipped this week, which categories are getting attention, where are we blocked. the data is all in git history and the roadmap. it's just about surfacing it.
the team is one agent right now doing everything. the goal is to get it to a point where it can run a full development cycle — plan, build, test, ship — without interruption. we're getting closer.