Residency Journal: 2026-08-10 (Progress Catch-up)

Summary

A comprehensive summary of all progress and work completed in the backend residency and the BiteTrack flagship API since the last journal entry on July 1, 2026. This period saw major advancements in DSA fluency (Practice Mode), repository standardization, and the initialization of Milestone 1 (Build Mode).


🧠 Practice Mode: DSA & Python Fluency

We completed a significant amount of algorithmic and language fluency practice inside the residency sandbox:
* LeetCode Exercises Solved & Documented:
* Two Sum (#1) — Walkthrough and hash map optimizations.
* Palindrome Number (#9) — Walkthrough and mathematical approaches.
* Roman to Integer (#13) — Walkthrough and value subtraction rules.
* Longest Common Prefix (#14) — Standard and character comparison approaches.
* Merge Two Sorted Lists (#21) — Linked list pointer management.
* Remove Duplicates from Sorted Array (#26) — In-place array modification.
* Remove Element (#27) — In-place array modification using two-pointers.
* Find the Index of the First Occurrence in a String (#28) — Substring matching.
* Search Insert Position (#35) — Binary search implementations.
* Knowledge Base Expansion:
* Added detailed guides for Python's enumerate and zip functions.
* Added comprehensive Guides for HashMap fundamentals, Linked Lists, Binary Search, and Pydantic validation concepts.
* Practice Environment:
* Configured Nix devShell and direnv wrappers for the practice folder.


🛠️ Build Mode: BiteTrack API

Milestone 1 (Secure User Registration & CRUD) was officially kicked off, and its baseline architecture was completed and verified:
* Repository Architecture & Layout:
* Restructured the repository to place the codebase files inside the src/ directory (conforming to ADR 0004).
* Moved project specifications (SRS.md, database.md, api-design.md, architecture.md) directly into the implementation repository's docs/ folder.
* Database & Schema Specifications:
* Updated docs/database.md to split user names into firstname and lastname (to support recovery mechanics) and removed CUSTOMER from user roles.
* Created UserBase, UserRegister (utilizing Pydantic SecretStr for password protection), and UserResponse schemas in src/schemas/users.py.
* Endpoints & Validation:
* Implemented the dummy registration route (POST /api/v2/auth/register) in src/routers/auth.py.
* Automated testing by adding happy/sad path tests to tests/test_auth.py.
* Added httpx2 to pyproject.toml dependencies to suppress deprecation warnings during testing.
* Quality Check:
* All tests pass successfully (2/2).
* Static analysis (pyright) and styling/lint checks (ruff check) report zero errors or warnings.


🗃️ Residency Workspace & Portability

Standardized residency configurations to make the repository completely portable and easy for automated agents to parse:
* Agent Path Auto-Discovery:
* Configured a git-ignored .local_config.json to dynamically resolve local filesystem paths to the implementation repository.
* Updated AGENTS.md to guide agents to read this file instead of searching the system.
* Link Portability:
* Standardized all links across documentation to use relative paths instead of machine-specific absolute files.
* Roadmap Updates:
* Checked off completed tasks in todo.md and set Milestone 1 status to "In Progress".


Retrospective

This journal covers a significantly longer period than intended. After the July 1 entry, progress in Build Mode slowed considerably, particularly while the project architecture and domain model were still being established.

Rather than maintaining the planned balance between Practice Mode and Build Mode, I shifted most of my effort toward Python fluency, DSA practice, and expanding the residency knowledge base. This produced considerably more progress in the learning repository than in the BiteTrack implementation repository during this period.

In retrospect, this was partly a response to feeling blocked by the implementation work. However, the detour was not entirely unproductive. The accumulated work in Practice Mode has substantially improved my understanding of Python, data structures, algorithms, validation, and implementation patterns. Build Mode has now resumed with the beginning of Milestone 1 and a clearer understanding of the project's architecture and domain.

The residency is still behind its original schedule. The important correction going forward is therefore not to compensate by producing more documentation, but to increase the proportion of time spent implementing, testing, debugging, and extending BiteTrack.

💡 Lessons Learned

Design Database Schema First

Thinking through how user-recovery questions would map to the database saved us from having to run migrations later to split the name column. Deciding on firstname/lastname columns early kept our schemas clean.

Keep Authentication Decoupled

Keeping the customer directory entry structurally separate from authenticated users is essential for security. Non-interactive entities (customers) should never share the same database representation or roles as active system users (sellers, admins).

Suppress Warning Clutter

Third-party package warnings can mask real test output issues. Managing environment dependencies and configurations cleanly helps keep the terminal output focused on the application.