Skip to content

Instantly share code, notes, and snippets.

@drewstone
Created February 27, 2026 23:14
Show Gist options
  • Select an option

  • Save drewstone/86c24ff6aa06ee6715d9a12e1871222d to your computer and use it in GitHub Desktop.

Select an option

Save drewstone/86c24ff6aa06ee6715d9a12e1871222d to your computer and use it in GitHub Desktop.
AtelyPham activity report — 2026-02

AtelyPham Activity Report — 2026-02

=== AtelyPham (2026-01-31 to 2026-02-27) ===
  Timezone: UTC+7

  TANGLE WORK:
  Mon Feb 02: 6.7h [11:33am-8:06pm, 1 break]
    tangle-network/agent-dev-container: 4 commits (+93/-31)
      e036999d fix(sidecar): stop LSP infinite restart loop on missing e... (+15/-1) [1 file]
      19efef3f fix(devtools): remove orphan redis volume on cleanup (+13/-4) [1 file]
      518cc047 refactor: extract isMissingExecutable helper, add Redis c... (+23/-15) [2 files]
      71933ce9 fix(sidecar,devtools): LSP restart loop and Redis volume ... (+42/-11) [2 files]
    tangle-network/blueprint-agent: 8 commits (+8151/-14033)
      7d766243 chore: drop old migrations (+0/-14001) [5 files]
      4aaa0797 fix: re-generate the migration files (+7557/-0) [3 files]
      bf225cff chore: enable partners seeding (+3/-7) [1 file]
      ab12567e fix(chat): pass selectedPartnerId from frontend for FAST ... (+26/-6) [6 files]
      ee092546 fix(plan-limits): use scoped project limit checks in chat... (+2/-2) [1 file]
      038b2d20 fix(partner-chat): preserve selectedPartnerId across navi... (+31/-6) [4 files]
      267bdab5 feat(credits): add breakdown tooltip for sponsored credit... (+79/-11) [2 files]
      b42bf095 feat(seed): automate partner user setup for local dev (+453/-0) [2 files]
  Tue Feb 03: 9.7h [2:17pm-11:29pm]
    tangle-network/blueprint-agent: 12 commits (+455/-110)
      bad00832 fix(credits): use personal credits when no partner key used (+41/-22) [2 files]
      706e6744 fix(partner-keys): prevent duplicate LiteLLM keys on firs... (+82/-24) [4 files]
      400ac814 fix(credits): pass partner_id through LiteLLM request met... (+110/-23) [7 files]
      e2a53a59 fix(devscripts): use ORCHESTRATOR_ADMIN_API_KEY for consi... (+2/-2) [1 file]
      e637e4e7 fix(credits): pass selectedPartnerId to all processDiscov... (+4/-0) [1 file]
      eb0a5316 fix(credits): forward team_id and token from LiteLLM webh... (+83/-0) [1 file]
      6abccdc3 fix(credits): schema validation for null token/team_id + ... (+42/-3) [3 files]
      1c9ae62f feat(devscripts): add --fast flag to dx up command (+35/-27) [2 files]
      044d5e33 fix(partners): add missing gavel-fill icon to UnoCSS safe... (+2/-0) [1 file]
      d8462b50 fix(devscripts): wait for LiteLLM health before seeding (+35/-0) [2 files]
      e4935765 feat(credits): refresh credits on tooltip hover (+19/-9) [2 files]
      fd306f45 Merge remote-tracking branch 'origin/develop' into tin/mu...
  Wed Feb 04: 10.8h [2:40am-5:51pm, 1 break]
    tangle-network/agent-dev-container: 2 commits (+4/-0)
      dbfc82ba fix(sidecar): preserve session apiKey when model override... (+2/-0) [1 file]
      14b6e430 fix(sidecar): preserve session apiKey when model override... (+2/-0) [1 file]
    tangle-network/blueprint-agent: 17 commits (+33379/-15610)
      3948cafd feat(schema): add isBlocked and scheduledBlockAt to partn... (+7496/-0) [4 files]
      4a649eba feat(repo): add LiteLLM key blocking methods to PartnerLi... (+169/-1) [1 file]
      71862e78 feat(services): add PartnerLiteLLMKeyLifecycleService (+175/-0) [1 file]
      ab4f4996 feat(partners): integrate key blocking in seat allocation... (+33/-6) [1 file]
      3a8bb6a9 feat(routes): block LiteLLM key on immediate seat removal (+31/-0) [1 file]
      7a19116f feat(routes): reactivate LiteLLM key on re-invitation (+41/-0) [1 file]
      5beaef91 feat(cron): process scheduled LiteLLM key blocks (+37/-2) [2 files]
      4722a80b fix: revert the migration files (+3/-7584) [4 files]
      c9e687f0 fix(db): reset migrations to match origin/develop (+7061/-8) [3 files]
      ba76881b chore: remove missing migration (+0/-7455) [1 file]
      f9e1012b chore: generate single migration file (+7544/-0) [3 files]
      975d2571 fix(litellm): add budget reconciliation and bound tokenHa... (+162/-9) [6 files]
      4bccd763 feat(partners): multiple LiteLLM keys for partner-sponsor... (+10577/-538) [52 files]
      bbb10492 fix(plan-limits): pass env to critical chat API paths (+4/-0) [1 file]
      1d2af420 fix(plan-limits): pass env to route handlers (+21/-2) [10 files]
      e31c9ca5 refactor(plan-limits): add env to ProjectsService constru... (+14/-1) [5 files]
      a29ee1db refactor(plan-limits): add env to freeTierThrottle (+11/-4) [3 files]
  Thu Feb 05: 1.2h [4:08am-2:23pm, 1 break]
    tangle-network/blueprint-agent: 3 commits (+15/-3)
      9383e283 merge: resolve conflicts with upstream/develop
      fb4c71d9 merge: resolve conflicts with upstream/develop
      42e82e32 docs(discovery): add security documentation for fail-open... (+15/-3) [1 file]
  Mon Feb 09: 9.1h [12:49pm-10:52pm, 1 break]
    tangle-network/blueprint-agent: 15 commits (+1235/-170)
      c21e09c2 feat(dx): add wrangler dev mode support to up command (+44/-18) [4 files]
      5003b191 fix(partners): wire domain.mismatch event to frontend modal (+70/-5) [3 files]
      0e1741d7 fix(partners): implement domain mismatch modal button act... (+15/-5) [1 file]
      a69fed01 chore(seed-data): switch partner user seed from worldcoin... (+7/-7) [1 file]
      e6bc86b6 fix(invite): add loading state to prevent double-click on... (+26/-7) [1 file]
      1fed7784 fix(partners): auto-resend message on domain mismatch "us... (+49/-10) [2 files]
      c7063aa1 Merge branch 'develop' into tin/partner-domain-mismatch-s...
      5a89b709 fix(invite): add loading state to prevent double-click on... (+26/-7) [1 file]
      e352be02 fix(partners): fail-closed on pre-classification error + ... (+76/-22) [7 files]
      0093127a fix(chat): make isNewSessionFromHomepage sticky to preven... (+23/-2) [2 files]
      0fabfd74 fix(partner): add platform admin bypass to GET /api/partn... (+19/-12) [1 file]
      6df3cb25 fix(partner): add platform admin bypass to POST /api/part... (+20/-13) [1 file]
      b524fd8c fix(partner): add platform admin bypass to DELETE /api/pa... (+18/-15) [1 file]
      d939de50 feat(partners): add domain mismatch detection + fix scope... (+814/-47) [37 files]
      07c4b474 feat(sidebar): show partner logo badge on sponsored proje... (+28/-0) [6 files]
  Tue Feb 10: 2.6h [3:06am-10:23pm, 3 breaks]
    tangle-network/blueprint-agent: 7 commits (+201/-120)
      740a187d fix(partner): contextual UX for Add Superadmin based on s... (+44/-28) [2 files]
      b319ca8f feat(sidebar): show partner logo badge on sponsored proje... (+28/-0) [6 files]
      0295d511 fix(partner): platform admin bypass + contextual Add Supe... (+101/-68) [3 files]
      1b149735 feat(pricing): update Stripe live price IDs and enable li... (+10/-8) [2 files]
      2c6fc6da Merge remote-tracking branch 'upstream/develop' into tin/...
      3b2b8aaf feat(pricing): enable Stripe live mode on staging (+4/-4) [1 file]
      8fa54cc9 feat(pricing): update Stripe live price IDs and enable li... (+14/-12) [3 files]
  Wed Feb 11: 14.3h [2:15am-11:02pm, 2 breaks]
    tangle-network/blueprint-agent: 21 commits (+744/-153)
      ac17c092 perf(root-loader): parallelize sequential db queries for ... (+43/-38) [1 file]
      efed39e1 chore(types): add Hyperdrive binding to CF Workers Env in... (+3/-0) [1 file]
      6ec1784b feat(cache): add KV cache service abstraction (+96/-0) [2 files]
      e999a958 Merge remote-tracking branch 'upstream/develop' into tin/...
      63915168 perf(root-loader): parallelize sequential db queries for ... (+43/-38) [1 file]
      0710e9e8 perf(plans): cache getPlanByCode via KV with write-through (+46/-3) [2 files]
      57841c2a fix(orchestrator): add missing x-user-id headers to sessi... (+27/-4) [5 files]
      da05612f build(hyperdrive): add Hyperdrive bindings to wrangler co... (+10/-0) [2 files]
      f18934ca perf(models): add KV second-tier cache for consolidated m... (+40/-4) [4 files]
      1c5830c3 perf(db): use explicit postgres client with prepare:false... (+4/-2) [1 file]
      497d23a5 build(cloudflare): add CACHE_KV namespace binding (+12/-0) [2 files]
      5d03ec85 fix(hooks): switch gh install to direct binary download (+12/-7) [1 file]
      57601f48 perf(db): route CF Workers connections through Hyperdrive (+7/-4) [2 files]
      29bbacd6 fix(hooks): use latest gh version via GitHub API (+7/-1) [1 file]
      ab5dcb17 fix(hooks): add SHA256 checksum verification and arch det... (+23/-3) [1 file]
      7b46b562 fix(orchestrator): thread x-user-id through all fetchSide... (+92/-22) [20 files]
      1e19b49c fix(hooks): persist PATH via CLAUDE_ENV_FILE for Bash too... (+4/-1) [1 file]
      a546ab8f feat(hooks): auto-install GitHub CLI on web sessions (#1225) (+78/-0) [2 files]
      a1c5d0c1 fix(orchestrator): add x-user-id to sidecar proxy route (+3/-0) [1 file]
      034b7972 docs: add deployment guide with deploy, rollback, and env... (+36/-0) [1 file]
      953514b9 fix(orchestrator): add missing x-user-id headers to sessi... (+158/-26) [23 files]
  Thu Feb 12: 14.3h [1:21am-11:37pm, 2 breaks]
    tangle-network/blueprint-agent: 19 commits (+854/-144)
      c19cd737 Merge remote-tracking branch 'upstream/develop' into tin/...
      408f4b71 Merge upstream/develop into tin/perf-kv-cache-plans-models
      7c4b1fee fix(cache): bump KV cache hit log to info for staging vis... (+1/-1) [1 file]
      5c25a1bf perf(db): enable Cloudflare Hyperdrive for Supabase Postg... (+24/-6) [6 files]
      e38736c3 perf(kv-cache): add dashboard cache types and helpers (+120/-0) [1 file]
      d3c711cb Merge remote-tracking branch 'upstream/develop' into tin/...
      f10babb0 perf(referrals): consolidate referral queries in root loader (+12/-8) [3 files]
      0c13d295 perf(partners): consolidate partner user queries in root ... (+28/-7) [3 files]
      414f550a perf(root): cache user dashboard data in KV (+138/-91) [1 file]
      b9f46ee2 perf(billing): add getUserBillingData consolidated method (+34/-0) [1 file]
      908c2b5b perf(stripe-webhook): invalidate user cache on billing ev... (+37/-2) [1 file]
      05aa99e9 perf(cache): KV-backed caching for plans and models confi... (+194/-7) [10 files]
      47580aee perf(partner): invalidate user cache on admin and invite ... (+16/-0) [2 files]
      c28078d5 perf(root): restructure loader phases from 4 to 3 (+10/-12) [1 file]
      4a5e1601 perf(root): fix O(N*M) partner limit calculation (+15/-10) [1 file]
      1d2a5e5a test(kv-cache): add dashboard cache helper tests (+195/-0) [1 file]
      1d3cf035 Merge remote-tracking branch 'upstream/develop' into tin/...
      bf9e9aa0 Merge remote-tracking branch 'upstream/develop' into tin/...
      e54a7bf1 feat(plan): add decrementActiveProjects to userPlanStore (+30/-0) [1 file]
  Fri Feb 13: 11.9h [12:12am-11:17pm, 2 breaks]
    tangle-network/blueprint-agent: 15 commits (+854/-867)
      8f7fc1b8 fix(sidebar): decrement plan counter on project delete (+4/-0) [1 file]
      bd123e4b fix(settings): decrement plan counter on project delete (+12/-0) [1 file]
      49275557 fix(plan): add partner context to project deletion decrem... (+22/-10) [2 files]
      ff74dacf Merge pull request #1243 from tangle-network/tin/perf-kv-...
      d98e7c09 Merge remote-tracking branch 'upstream/develop' into tin/...
      3b6b6e75 perf(root): consolidate root loader DB queries (10→7) (#1... (+21/-13) [5 files]
      38b131dd fix(plan): unblock project creation after deletion (#1244) (+59/-1) [3 files]
      3ae21983 perf(repos): narrow root loader hot-path queries (+138/-77) [11 files]
      a3979182 perf(repos): narrow core repository read queries (+127/-93) [8 files]
      eb5b837a perf(partners): add column selection to partner repositor... (+175/-47) [9 files]
      423eb966 fix(test): add Docker Postgres cleanup to test teardown (+45/-1) [1 file]
      c0935093 perf(projects): narrow column selection for delete and fi... (+10/-3) [1 file]
      c54037d3 perf(repos): delete unused repository methods (+16/-559) [10 files]
      da31515b perf(web): change SolidityPlugin from eager to lazy loading (+15/-2) [2 files]
      6218d7c3 fix(root): cache key compat, migration safety, dead code,... (+210/-61) [6 files]
  Sat Feb 14: 4.2h [1:15am-5:00am]
    tangle-network/blueprint-agent: 15 commits (+843/-879)
      4734e43d perf(root): consolidate stable segment into single CTE query (+188/-144) [6 files]
      1f5aaf5a perf(root): consolidate billing+referrals into single CTE... (+265/-159) [8 files]
      04d881b1 fix(root): replace type cast with proper error propagatio... (+1/-1) [1 file]
      3ce202db Merge pull request #1265 from tangle-network/tin/fix-test...
      1a0f6a7a fix(tests): use correct volume table fields in storage li... (+15/-5) [1 file]
      9425413b fix(tests): query detectionSource directly in partner dis... (+14/-1) [1 file]
      e8dc9d34 fix(root): remove tautological userCredits null check (+1/-1) [1 file]
      46db3854 fix(tests): use getProjectVolumeInfo in s3 volume sync AP... (+16/-9) [1 file]
      3303aedb fix(tests): use http:// in preview-links test to avoid TL... (+1/-1) [1 file]
      aeb3e228 fix(tests): update projects-repository unit test mocks fo... (+58/-61) [1 file]
      155807dd fix(tests): align kv-cache test with narrowed DashboardSu... (+1/-54) [1 file]
      628cf088 feat(root): add typed Drizzle query methods for billing+p... (+253/-1) [7 files]
      00d4e3cb perf(root): switch loader from CTE calls to parallel type... (+29/-28) [1 file]
      5ecd358e refactor(root): delete dead CTE methods and their tests (+0/-412) [5 files]
      fb6ec6d7 fix(root): remove stale comment and isSiteAdmin type cast (+1/-2) [1 file]
  Mon Feb 16: 8.9h [1:12pm-11:38pm, 1 break]
    tangle-network/blueprint-agent: 21 commits (+1189/-1713)
      447d7231 perf(css): deduplicate safelist in uno.config.ts (+29/-140) [1 file]
      f14ebecc fix(web): remove unused planResults destructuring (+1/-1) [1 file]
      3cdf54ed feat(test): add PGlite dep and vitest config for in-proce... (+19/-6) [4 files]
      8fe31e63 perf(css): delete non-critical.scss and defer xterm.css (+3/-34) [2 files]
      6d54c238 merge upstream/develop into tin/root-loader-cache-drift-w...
      c5ed73ed perf(css): add UnoCSS CLI critical CSS generation (+11/-1) [4 files]
      6d0ca1eb feat(test): add PGlite database setup and dual-mode infra... (+96/-48) [4 files]
      7dea4d0c perf(web): change SolidityPlugin from eager to lazy loadi... (+15/-2) [2 files]
      ea6f3641 perf(repos): narrow column selection across repositories ... (+574/-909) [35 files]
      180f4c7b perf(css): inline critical CSS and defer UnoCSS bundle (+26/-1) [1 file]
      f672f420 merge upstream/develop, adopt DashboardSubscription+getPl...
      1e2b9052 Merge remote-tracking branch 'upstream/develop' into tin/...
      9a1b5a82 fix(css): add prebuild:develop hook for critical CSS gene... (+1/-0) [1 file]
      c966aa15 refactor(plans): remove unused getPlansByCodes method and... (+1/-144) [2 files]
      c5c5cb45 perf(root): consolidate root loader DB queries and elimin... (+281/-208) [14 files]
      1947c8c2 fix(css): inline critical CSS generation into build/dev s... (+5/-7) [1 file]
      7ce867cb fix(css): use virtual module for critical CSS in dev mode (+13/-2) [2 files]
      86c14845 perf(editor): remove eager CodeMirror language preloading (+0/-32) [2 files]
      c78409c1 fix(deps): update @shikijs/core and sort dependencies (+3/-7) [2 files]
      0311013c perf(build): split CodeMirror language plugins into separ... (+6/-1) [1 file]
      3cf65e94 refactor(test): migrate test files from getDrizzleClient ... (+105/-170) [42 files]
  Tue Feb 17: 15.4h [1:54am-10:42pm, 1 break]
    tangle-network/blueprint-agent: 23 commits (+285/-150)
      ea3f57f5 perf(css): preload deferred UnoCSS bundle to eliminate FOUC (+23/-2) [2 files]
      60c64ddb fix(test): PGlite compat for payment-processing, s3-sync,... (+31/-18) [4 files]
      3ebb6adf fix(css): add type declaration for virtual:uno-css-path m... (+5/-0) [1 file]
      dc3dadcc fix(css): apply deferred UnoCSS via inline script to prev... (+6/-0) [1 file]
      032d5eec perf(editor): lazy-load CodeMirror language plugins (#1280) (+6/-33) [3 files]
      210ec68d perf(css): enable UnoCSS outputToCssLayers (+8/-0) [1 file]
      82038681 perf(css): split icon CSS into deferred file via Vite plugin (+76/-2) [3 files]
      f77cd105 chore(css): remove unused safelist entries (+0/-15) [1 file]
      7923168b fix(css): move theme script before CSS to prevent dark-mo... (+2/-2) [1 file]
      62830b1a fix(web): expand workbench to full width when chat hidden... (+2/-2) [1 file]
      2be52edc chore(css): delete duplicate non-critical.scss (+0/-33) [2 files]
      333746be fix(header): render LandingHeader during SSR to prevent l... (+2/-2) [1 file]
      95199ce4 fix(css): add UnoCSS theme tokens to critical CSS (+54/-0) [1 file]
      b7b50a87 fix(web): cap workbench max-width and center when chat hi... (+1/-1) [1 file]
      236c81b2 chore(css): remove details option from UnoCSS config (+0/-1) [1 file]
      043c940a fix(web): use local wrangler config when APP_ENV=local (+3/-2) [1 file]
      110f2583 fix(css): use inline script for deferred icons CSS loading (+4/-4) [1 file]
      5f8e1be2 fix(billing): non-fatal Stripe portal/schedule calls in o... (+20/-14) [1 file]
      dde97fe6 Merge remote-tracking branch 'upstream/develop' into tin/...
      35e2b5b2 fix(css): remove unused themeStore import after merge (+0/-1) [1 file]
      8380a1d6 fix(billing): non-fatal Stripe portal/schedule calls in o... (+20/-14) [1 file]
      648bb514 fix(web): expand workbench to full width when chat hidden... (+2/-2) [1 file]
      e74105bf fix(css): eliminate icons CSS hydration mismatch via plac... (+20/-2) [1 file]
  Wed Feb 18: 11.0h [1:40am-9:28pm, 2 breaks]
    tangle-network/blueprint-agent: 15 commits (+1359/-1000)
      db6d6c88 perf(css): split icon CSS into deferred file + cleanup (#... (+106/-46) [5 files]
      88768950 fix(sidebar): count unique projects instead of sessions i... (+1/-1) [1 file]
      40344a3a perf(sidebar): fix header offset mismatch and add transition (+9/-7) [3 files]
      03be59ce feat(partner): add repository methods for invite email co... (+156/-0) [4 files]
      e56571a1 fix(projects): group sessions under projects in manage modal (+512/-381) [1 file]
      4429f60b perf(sidebar): keep panel always mounted via CSS hiding (+10/-1) [1 file]
      db0cacbc feat(partner): add duplicate email validation to partner ... (+55/-0) [1 file]
      449be229 perf(sidebar): batch store mutations on settings/manage c... (+6/-2) [1 file]
      0837af3d fix(projects): surface orphaned projects with no sessions... (+35/-2) [1 file]
      121b9a45 feat(partner): add duplicate email validation to admin in... (+27/-0) [1 file]
      eae8bf05 perf(sidebar): FLIP-based content area animation (+62/-17) [2 files]
      e8cc0352 perf(sidebar): add will-change and containment to sidebar (+1/-0) [1 file]
      beeae4b4 Merge pull request #1307 from tangle-network/tin/fix-proj...
      09b657f6 Revert "Merge pull request #1307 from tangle-network/tin/... (+379/-543) [2 files]
      ee0c530c Merge remote-tracking branch 'upstream/tin/fix-project-se...
  Thu Feb 19: 1.9h [12:17am-3:43am, 1 break]
    tangle-network/blueprint-agent: 12 commits (+651/-928)
      b5a28e30 fix(root): gracefully handle missing referral data in roo... (+10/-1) [1 file]
      117900b2 perf(sidebar): open settings dialog without closing sidebar (+2/-10) [1 file]
      8f240373 perf(settings): replace Framer Motion with ShadCN Dialog ... (+102/-174) [1 file]
      e2894666 chore: remove dead BackgroundRays component (+0/-264) [2 files]
      8e541bee Merge remote-tracking branch 'upstream/develop' into tin/...
      e5693785 fix(partner): pass normalized emails to addEmailsToInvite (+2/-2) [1 file]
      7365f331 perf(partner): use Set for accepted emails lookup + renam... (+5/-5) [2 files]
      df6cdd0d test(partner): add findActivePartnerMemberEmails tests (+44/-0) [1 file]
      7c2639a1 merge: resolve conflicts with upstream/develop
      2a2885f0 fix(sidebar): handle rapid toggle in FLIP animation hook (+15/-4) [1 file]
      af8a55b0 feat(partner): add duplicate email validation for partner... (+284/-2) [7 files]
      e3d8bde2 perf(sidebar): fix sidebar animation stutter and settings... (+187/-466) [5 files]
  Fri Feb 20: 0.5h [2:32pm-2:32pm]
    tangle-network/blueprint-agent: 1 commit (+214/-7)
      067072d6 test(root): regression test + remove dead ghToken param (+214/-7) [5 files]
  Mon Feb 23: 3.8h [2:29pm-7:58pm, 1 break]
    tangle-network/blueprint-agent: 9 commits (+2528/-2523)
      175bb08e fix(workbench): set visibility before navigation on new c... (+8/-0) [2 files]
      25534c1e fix(ui): treat /chat/ as chat landing page (+4/-4) [3 files]
      ae036fd8 fix(workbench): use useLayoutEffect for visibility to pre... (+2/-2) [1 file]
      304e68e2 Merge remote-tracking branch 'upstream/develop' into tin/...
      0455faf1 refactor(ui): delete unused PartnerLanding and domain pag... (+0/-2509) [34 files]
      a7b83c9d fix(ui): stabilize partner page test selector and remove ... (+5/-8) [3 files]
      b36a4a74 Revert "refactor(ui): delete unused PartnerLanding and do... (+2509/-0) [34 files]
      26ae940b Merge pull request #1335 from tangle-network/fix/partner-...
      5186d111 Merge pull request #1336 from tangle-network/tin/remove-o...
  Tue Feb 24: 7.9h [12:01am-5:02pm, 1 break]
    tangle-network/blueprint-agent: 11 commits (+107/-25)
      40aa6e36 Merge pull request #1344 from tangle-network/develop
      f00a8a5d fix(ui): add 19 missing phosphor icons to UnoCSS safelist (+19/-0) [1 file]
      79655c7a fix(ui): add 19 missing phosphor icons to UnoCSS safelist... (+19/-0) [1 file]
      5191df0e Merge pull request #1364 from tangle-network/develop
      d0df8f3f feat(pricing): add global pricingDialogStore for in-conte... (+36/-1) [2 files]
      4788ccfe refactor(pricing): open pricing modal from chat error CTAs (+23/-6) [1 file]
      585af687 Merge remote-tracking branch 'upstream/develop' into tin/...
      a701ba0d refactor(pricing): remove navigate('/pricing') on free-ti... (+0/-5) [1 file]
      a31b2d0a fix(chat): add projectId to chat switch links in ProjectC... (+1/-1) [1 file]
      7b87ba25 refactor(pricing): open pricing modal from WS billing err... (+2/-1) [1 file]
      3de52a4e fix(chat): redesign ProjectChatSwitcher trigger as breadc... (+7/-11) [2 files]
  Wed Feb 25: 8.4h [1:15pm-11:10pm, 1 break]
    tangle-network/blueprint-agent: 13 commits (+489/-283)
      2705c430 fix(partners): pass creditsToGrant=0 in auto-renewal cron (+3/-5) [1 file]
      bc20431f fix(partners): add monthAllocated filter to getAutoRenewU... (+14/-9) [1 file]
      b0a919a1 Merge remote-tracking branch 'upstream/develop' into tin/...
      fb968fb4 fix(chat): simplify ProjectChatSwitcher to chat-only drop... (+61/-143) [1 file]
      edf35d90 fix(billing): pass currentMonth to getAutoRenewUsers in w... (+3/-1) [1 file]
      638b2976 refactor(chat): add allProjects derived data to ProjectCh... (+25/-1) [1 file]
      c5864e5a fix(chat): redesign ProjectChatSwitcher as two-dropdown b... (+119/-73) [1 file]
      e571a08c fix(pricing): consolidate imports and remove type cast in... (+5/-5) [1 file]
      54cae37d fix(partners): deduplicate webhook credit granting by userId (+90/-1) [2 files]
      0bc16e05 fix(chat): address PR review feedback (+5/-2) [2 files]
      431e57bc feat(pricing): complete in-context pricing modal migratio... (+61/-13) [5 files]
      e64cc226 fix(chat): simplify ProjectChatSwitcher to chat-only drop... (+25/-30) [4 files]
      63425063 test(partners): add getAutoRenewUsers monthAllocated filt... (+78/-0) [2 files]
  Thu Feb 26: 7.2h [1:52am-11:14pm, 3 breaks]
    tangle-network/blueprint-agent: 19 commits (+271/-2901)
      c807cab2 Merge remote-tracking branch 'upstream/develop' into tin/...
      fad82879 Merge remote-tracking branch 'upstream/develop' into tin/...
      49c1e5b4 fix(partners): remove misleading "Mirrors" comment in web... (+2/-2) [2 files]
      959d097f fix(partners): prevent double-credit granting for autoRen... (+93/-6) [3 files]
      903339dd feat(domain): add default domain preference localStorage ... (+27/-0) [1 file]
      a3131025 refactor(partners): remove unused PartnerLanding and doma... (+0/-2509) [34 files]
      9ef660c0 Merge remote-tracking branch 'upstream/develop' into tin/...
      4f16a5b5 Merge pull request #1373 from tangle-network/tin/fix-gran...
      fd483c74 fix(partners): remove redundant resetMonthlySeatsCounter ... (+0/-3) [1 file]
      36c06af3 feat(domain): auto-select default domain in ChatDomainSel... (+33/-2) [1 file]
      64c96804 Merge pull request #1376 from tangle-network/tin/remove-u...
      e12b7393 feat(partners): filter project history by partner on part... (+11/-5) [1 file]
      cf1db3c6 feat(partners): show partner name in project history subt... (+7/-1) [1 file]
      d954d0c1 feat(partners): add partner logo badge to project history... (+7/-1) [1 file]
      995fd251 Merge remote-tracking branch 'upstream/develop' into tin/...
      4e7cc527 refactor(domain): remove DomainSelectionModal (+0/-370) [2 files]
      22bbd869 docs(partners): update billing comment — cron owns seat c... (+2/-2) [1 file]
      2dfd5946 feat(settings): add default domain preference setting (+58/-0) [1 file]
      68f24746 fix(partners): register seat reset cron in Cloudflare sch... (+31/-0) [2 files]
  Fri Feb 27: 5.6h [12:54am-11:39pm, 3 breaks]
    tangle-network/blueprint-agent: 11 commits (+243/-73)
      c7b35db5 fix(partners): consolidate resetMonthlySeatsCounter owner... (+33/-5) [4 files]
      faad3d2e feat(partners): filter project history on partner pages +... (+25/-7) [1 file]
      7f96d2ae Merge remote-tracking branch 'upstream/develop' into tin/...
      6bc53f12 fix(domain): prevent auto-reselection loop and validate s... (+29/-3) [2 files]
      20754b89 fix(domain): clear domain selection when pending data has... (+7/-4) [1 file]
      c8145a02 perf(domain): memo ChatDomainSelector, fix hooks order vi... (+11/-11) [1 file]
      aa07f939 fix(header): move profile sync to useEffect to avoid setS... (+11/-11) [1 file]
      5b58d65a fix(domain): respect "personal credits" default domain pr... (+35/-14) [2 files]
      c777240c feat(templates): add X Layer starter templates (+73/-0) [2 files]
      2d66f036 fix(templates): add X Layer logo to dark mode inversion list (+1/-0) [1 file]
      c42390c1 fix(templates): improve X Layer prompts with accurate too... (+18/-18) [1 file]
  Sat Feb 28: 1.8h [12:20am-1:39am]
    tangle-network/blueprint-agent: 8 commits (+335/-420)
      7339c536 fix(templates): import STARTER_TEMPLATES from modular tem... (+1/-1) [1 file]
      9fc017b1 fix(templates): use modular templates in ChatInput (+1/-1) [1 file]
      aaaa7ef1 refactor(templates): simplify X Layer prompts to be more ... (+7/-7) [1 file]
      9dcccb25 fix(domain): address PR review findings (C1, C2, S1, S4, A1) (+25/-11) [5 files]
      d63d2b2b test(templates): add X Layer templates to container selec... (+6/-0) [1 file]
      e62ca800 Merge remote-tracking branch 'upstream/develop' into tin/...
      16a964b6 feat(templates): add X Layer homepage starter templates (... (+87/-2) [5 files]
      d5f8b7e9 feat(domain): replace DomainSelectionModal with default p... (+208/-398) [7 files]
  Weekly tangle work total: 157.1h across 21 days

  EXTERNAL ACTIVITY:
  Fri Feb 27: 1.3h [6:53pm-7:42pm]
    AtelyPham/openclaw-claude-code-skill: 6 commits, 1 repos created
  Weekly external activity total: 1.3h across 1 days

  SUMMARY: 158.4h total (99.2% tangle, 0.8% external)
  Pattern: 6am-7pm tangle, evening personal work

  CODE VOLUME:
    Total: +54,499 / -42,143 across 287 commits
    Tangle: +54,499 / -42,143 (100%)
    External: +0 / -0 (0%)
    Top repos by LOC:
      tangle-network/blueprint-agent: +54,402 / -42,112
      tangle-network/agent-dev-container: +97 / -31
      AtelyPham/openclaw-claude-code-skill: +0 / -0

  MERGED PRs: 39 in tangle-network (Feb 2026)
    Total: +26,958 / -6,295 across 39 PRs

    Features (26):
      #1393 BLU: feat(templates): add X Layer homepage starter templates (+87/-2)
      #1392 BLU: feat(domain): replace DomainSelectionModal with default preference (+208/-398)
      #1377 BLU: feat(partners): filter project history on partner pages + add logo badge (+25/-7)
      #1373 BLU: fix(billing): deduplicate getAutoRenewUsers by monthAllocated in webhook (+86/-11)
      #1372 BLU: fix(partners): prevent double-credit granting for autoRenew users (+93/-6)
      #1367 BLU: feat(pricing): complete in-context pricing modal migration (+61/-13)
      #1363 BLU: fix(ui): add missing partner template icons to UnoCSS safelist (+19/0)
      #1319 BLU: feat(partner): add duplicate email validation for partner invites (+284/-2)
      #1280 BLU: perf(editor): lazy-load CodeMirror language plugins (+6/-33)
      #1273 BLU: perf(root): consolidate root loader DB queries and eliminate sequential phase (+281/-208)
      #1266 BLU: perf(repos): narrow column selection across repositories (+574/-909) ⭐ 10/10
      #1265 BLU: fix(test): add Docker Postgres cleanup to test teardown (+45/-1)
      #1243 BLU: perf(kv-cache): cache user dashboard data in KV with invalidation (+487/-70)
      #1240 BLU: perf(root): consolidate root loader DB queries (10→7) (+21/-13)
      #1234 BLU: perf(cache): KV-backed caching for plans and models config (+194/-7)
      #1226 BLU: perf(db): enable Cloudflare Hyperdrive for Supabase PostgreSQL (+24/-6)
      #1225 BLU: feat(hooks): auto-install GitHub CLI on web sessions (+78/0)
      #1224 BLU: fix(orchestrator): add missing x-user-id headers to session mapping calls (+158/-26)
      #1210 BLU: perf(root-loader): parallelize sequential db queries for TTFB reduction (+43/-38)
      #1191 BLU: feat(pricing): update Stripe live price IDs and enable live mode (+14/-12)
      #1183 BLU: feat(sidebar): partner logo badge on sponsored projects (+28/0)
      #1177 BLU: fix(partner): platform admin bypass + contextual Add Superadmin UX (+101/-68)
      #1176 BLU: fix(invite): add loading state to prevent double-click on accept/decline (+26/-7)
      #1160 BLU: feat(partners): add domain mismatch detection + fix scoped plan limits (+814/-47)
      #1111 BLU: feat(partner-billing): implement continuous sponsorship with mid-cycle seat management (+11376/-401) ⭐ 10/10
      #1107 BLU: feat(partners): multiple LiteLLM keys for partner-sponsored credits (+10577/-538) ⭐ 10/10

    Bug Fixes (9):
      #1383 BLU: fix(partners): consolidate resetMonthlySeatsCounter ownership (+33/-5)
      #1370 BLU: fix(chat): simplify ProjectChatSwitcher to chat-only dropdown (+25/-30)
      #1320 BLU: perf(sidebar): fix sidebar animation stutter and settings dialog performance (+187/-466)
      #1307 BLU: fix(projects): group sessions under projects in manage modal (+543/-379) ⭐ 7/10
      #1299 BLU: fix(billing): non-fatal Stripe portal calls in overview loader (+20/-14)
      #1298 BLU: fix(web): expand workbench to full width when chat hidden (+2/-2)
      #1244 BLU: fix(plan): unblock project creation after deletion (+59/-1)
      #239 AGE: fix(sidecar): preserve session apiKey when model override provided (+2/0)
      #231 AGE: fix(sidecar,devtools): LSP restart loop and Redis volume cleanup (+42/-11)

    Refactoring (3):
      #1376 BLU: refactor(partners): remove unused PartnerLanding and domain page components (+0/-2509) ⭐ 10/10
      #1336 BLU: test(root): regression test + remove dead ghToken param (+214/-7)
      #1300 BLU: perf(css): split icon CSS into deferred file + cleanup (+106/-46)

    Trivial (1):
      #1274 BLU: perf(web): change SolidityPlugin from eager to lazy loading (+15/-2)

    AI Assessment:
      Overall Score: 7/10
      "AtelyPham merged 39 PRs with +26958/-6295 lines. Heuristic scoring used (Claude CLI unavailable)."

    Concerns:
      • AI analysis unavailable — scores are heuristic based on LOC only

=== ALERTS: AtelyPham ===
  - Thu Feb 05: low output day (1.2h tangle)
  - Thu Feb 19: low output day (1.9h tangle)
  - Fri Feb 20: low output day (0.5h tangle)
  - Sat Feb 28: low output day (1.8h tangle)

JSON report saved to reports/2026-02-27.json

Charts for AtelyPham:
  reports/AtelyPham/daily_hours.png
  reports/AtelyPham/hourly_heatmap.png
  reports/AtelyPham/weekly_trend.png
  reports/AtelyPham/loc_by_repo.png

Warnings:
- tangle PR activity failed for AtelyPham: gh api /search/issues --paginate -f q=org:tangle-network is:pr author:AtelyPham created:>=2026-01-31 -f per_page=100 failed: gh: Not Found (HTTP 404)
- tangle issue comments failed for AtelyPham: gh api /search/issues --paginate -f q=org:tangle-network is:issue commenter:AtelyPham updated:>=2026-01-31 -f per_page=100 failed: gh: Not Found (HTTP 404)

Daily Hours

Daily Hours

Commit Activity by Hour

Commit Activity by Hour

Code Volume by Repository

Code Volume by Repository

Weekly Hours Trend

Weekly Hours Trend

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment