=== 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)
Created
February 27, 2026 23:14
-
-
Save drewstone/86c24ff6aa06ee6715d9a12e1871222d to your computer and use it in GitHub Desktop.
AtelyPham activity report — 2026-02
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment



