# TrendsWhat project inspection notes Inspected September 15, 2026. These notes describe operator-owned source code read for the publication. They do not expose customer records, credentials, or private runtime logs. File paths below are relative to each project, not public source-code downloads. The diagrams are original explanatory redrawings, not production screenshots. ## StockNote: AI expense drafts Files inspected: - `apps/web/src/domains/ai-cfo/aiCfo.service.ts` - `apps/web/src/domains/ai-cfo/aiCfo.repository.ts` - `apps/web/src/domains/ai-cfo/aiCfoLlmTrace.repository.ts` - `apps/web/src/app/api/ai-cfo/drafts/[draftId]/approve/route.ts` Observed: chat extraction separates plain replies from expense drafts. Draft responses contain a draft identifier, proposed fields, and preview entries. The authenticated approval route accepts edited fields. The repository reads the account-scoped draft with a row lock, checks pending status, writes the transaction, and marks the draft committed within a transaction wrapper. A separate direct-entry path exists. The model trace stores provider/model identifiers, token counts, request/response JSON, and source message linkage. Not established: deployed behavior, extraction accuracy, complete authorization coverage, retention policy, concurrency performance, or customer outcomes. No transaction was submitted for this inspection. ## MaybeTomorrow: local outbox Files inspected: - `ios/MaybeTomorrow/Core/WorkData/Sync/Outbox.swift` - `ios/MaybeTomorrowTests/OutboxRepositoryTests.swift` Observed: account/entity/local-ID uniqueness; coalesced upsert intent; separate delete decisions for local-only, unsent creation, and possible/existing server state; removal conditional on ID and expected update timestamp; failed-state retry delay derived from the capped attempt count. The expression `min(2^min(attemptCount, 8), 300)` reaches 256 seconds. The actual upsert body makes the latest upsert authoritative even when an earlier mutation was a delete, despite a conflicting summary comment. Test source covers coalescing, deletion scenarios, ordering, and the expected-timestamp guard. Those test definitions were read, not executed. No iOS runtime or production outage was tested. ## Attribution The operator's public portfolio at https://imgobot.com/about identifies these projects. Its descriptions were used to locate the relevant implementations. Local source inspection is the evidence for the implementation details above; the portfolio is not independent validation of production outcomes. ## StockNote: context construction Additional files inspected: `apps/web/src/domains/ai-cfo/aiCfoContext.repository.ts` and `apps/web/src/domains/ai-cfo/aiCfoLlmExtractor.ts`. The builder returns `context_pack.v1`, normalized locale/timezone/base currency/client date, account candidates, one payment account candidate, and recent expense context scoped to the user. The query selects the latest ten expense rows; the field name `recent_similar_transactions` does not establish a similarity retrieval method. Date-shaped and three-letter currency checks are normalization, not complete semantic validation. The extraction instructions separate task scope, application context, user-message data, accuracy constraints, and output format. No model response comparison was run. ## Imgobot: document source units Inspected `src/server/output/upload/workers/lib/source-units.mjs` and `src/server/output/upload/workers/lib/build-custom-quiz.ts` in the operator-owned Imgobot web project. Grouping tracks heading hierarchy, omits header/footer categories and unreadable fragments, and retains original HTML in grouped fragments. The orchestration code transforms fragments with bounded concurrency and regroups results by original positions, sends identified blocks to blank generation, then persists sections/blocks/answers. The orchestration was read, not executed. The downloadable `source-units.snapshot.mjs` exactly matched the inspected implementation at preparation: SHA-256 `76af003c7070e4d19978c77adb2816d7cd3e8b6d4b5688a791c0e24cb62779bb`. The original three-fixture runner executed the snapshot locally; all three expected outputs matched. Fixtures cover nested headings, ignored page furniture/empty text, and headingless paragraphs. No parser API, model, upload, database operation, or student outcome was tested. ## Send: quiz state and display snapshots Inspected `apps/web/src/controllers/quizController.ts`, `apps/web/src/models/quizModel.ts`, `apps/web/src/utils/quizPayload.ts`, and query text `apps/web/database/queries/QUIZ_ITEM_ATTEMPTS_UPSERT.sql` / `QUIZ_CHAT_LOG_SETS_SELECT_LATEST_BY_USER_CHAT_MODE.sql`. Submission reads the stored answer and uses normalized string equality (trim, collapse whitespace, lowercase), then records attempt/progress in a transaction. Wrong-item selection is a separate operation. Attempt persistence uses an upsert; exact deployed uniqueness constraints were not inspected. Chat log sets are replaced by user/chat/mode and latest sets are read; message normalization limits the supplied list to 500 entries. These facts do not establish an immutable complete history, semantic AI grading, live behavior, or learning outcomes. No DB query or write was performed. ## Review-in-Korea: localized article boundaries Inspected `src/config/locales.ts`, `src/features/blog/routing.ts`, and `src/features/blog/seo.ts`. Locale registry provides labels, HTML language, direction, and English default. Article paths use locale/category/slug through shared localized routing. Alternate links derive from supplied article alternates; x-default chooses a default-language alternate when available, otherwise current article. Canonical override is supported. Article JSON-LD uses article identity, dates, language, title, description, image, and optional source. No claim is made that every configured locale has every article or that every live alternate is correct. No full live crawl, translation review, or ranking study was performed.