Weekly Report — May 25 – May 31, 2026 (friday mode)
W22 full week (Mon May 25 – Sun May 31). Net-new vs Tuesday mid-week cut: (1) two more TerryWhite Chemmart asks closed Wed May 27 — global locked dashboard filter (DONE) + dynamic financial date (WAITING, POC in flight, AQL quirks logged); (2) Prusa onboarding call closed Fri May 29 (#P1); (3)
Review PR hook in holistics/skills(#P2, PR holistics/skills#16) shipped Thu; (4) Amp plugin updated forholistics mcpsubcommand (P3, W21 carry-over finally cleared); (5)plannotatorAmp plugin added; (6) [[Pi Coding Agent]] installed + RFC-0005 revised to incorporate it (Logseq harness-research arc); (7) BuyCo hide-tabs/tab-nav closed May 31 (“seems no response” — customer silent, archived without resolution); (8)Feedback — Publish via CLI?resolved; (9) moved house Fri May 29 (leave day). DAT-576 MRR exchange rate still NOT STARTED — 6-week carry-over, slot never fired all week. H1 self-reflection + Spark roadmap also slipped (weekend → moving house). Sloppypasta + Semantic Layer + Pi notes captured.
Work
Presales
DONE — Call with [[Prusa]] (#P1, [[Presales]]) — closed Fri May 29. Chukwudi’s direction (Slack thread): “do a detailed discovery to help him plan a strategy to win his company over.” Modeling question in the Prusa channel already resolved; my action = review it for context + lead the deeper discovery in next session. Refs: Slack. Follow-up captured in [[2026-06-01]] as “Help Prusa w/ extend dataset” (P1) — keeps momentum into W23.
TODO — Power BI to Holistics — narrative and video (#P1, [[Presales]]) — promoted P2 → P1 (almost done). Carried + progressed. Tuesday cut already covered Result-First 7-act direction + 3 marketing assets (
a-linkedin-post.md,c-demo-transcript.md,d-demo-transcript-short.md). Late-week progress: 3 videos done + face/micro recording done (per [[2026-05-22]] update). Reference signal still Tableau→Sigma post — “long video lost viewers, missing conceptual diagram.” Refs: Slack, Notion: Demo PBI migration, Ampcode, Slack DM anh Khai.TODO — Power BI to Holistics — Themes (#P2, [[Presales]]) — carried from W21 → moved to Backlog mid-week. No movement.
Duty Support
DONE — Support data question for [[TerryWhite Chemmart]] (#P1, [[Duty Support]]) — closed Mon May 25. Already covered in Tuesday cut:
relative_periodreturns wrong LY values when date parameter is used as filter inside metric definition — parameter-boundwhere(... in param)clauses treated as literal-bound → resolved before rewrite rule → engine fails to shift WHERE range while shifting GROUP BY key → empty LY columns + data leakage to 2027. Workaround: define LY asbase_metric | relative_period(...)w/o internalwhere, filter at explore level. Trade-off: LY subquery does full table scan. Reproduced CSVs sent to anh Tan Huynh. Refs: Slack, Ampcode (debug), Ampcode (conversation), Ampcode (reproduce csv).DONE — Follow up with [[TerryWhite Chemmart]] (#P1, [[Duty Support]]) — closed Wed May 27. Loop closed w/ anh Tan Huynh + customer.
DONE — [[TerryWhite Chemmart]] — global locked dashboard filter (#P2, [[Duty Support]]) — closed Wed May 27. Customer ask (Christo Rootman): dashboard-level filters that are truly hidden + locked from end users — not editable via the Controls panel. Use case = central enforcement of structural filters (operational/active stores, “Like for Like” status) on specific dashboards while reusing the same dataset for other dashboards w/o those filters. Solution shipped: continue w/ local (visual-level) conditions as workaround → use Code Search in Holistics app to audit filter coverage → leverage Local Agentic Development (sync AML to disk + AI agent sweep) to apply filters consistently across dashboard files. Ask validated for product team. Lesson: when customer asks for hidden+locked dashboard filters, first clarify if row-level permissions fit (hidden + locked by design); if RLP overhead is too high for dashboard-specific behavior, hand the visual-level + code-search + agentic workflow. Refs: Slack, Ampcode.
WAITING — [[TerryWhite Chemmart]] — dynamic financial date (#P1, [[Duty Support]]) — opened Wed May 27. Elevated P2 → P1 end-of-week — pattern feeds Bicycle Transit (Tue Jun 2 call) + reusable for any FY-aware customer. Context (AU FY starts Jul 1): 2 customer pain points — (a) FY rollover maintenance — every July someone hand-edits
exact_period(@(July 2025 - 1 Month Ago))literals; (b) metric sprawl — same base sales metric cloned for TY / PY / FYTD / PFYTD / QTD windows. Solution pattern (POC2, dynamic anchor): precompute 7 FY helper dims ondim_date(fy_number,fy_start_date,fy_month_number,day_of_month, etc.) via Postgres SQL in AML → expose hidden dataset-level anchor metrics (_anchor_date = max(dim_date.date),_anchor_fy = first(dim_date.fy_number, where: dim_date.date = _anchor_date)) → rewrite_v2comparison metrics to filter against anchors (e.g. FYTD =where(dim_date.fy_number = _anchor_fy and dim_date.date <= _anchor_date)). Result: rollover-proof, no hardcoded literals, dashboard date-filter drives everything. LEARNING — AQL quirks (logged in [[2026-05-27]] + POC2 thread):==betweendimandmax(dim)rejected → use>=+<=chained.- Multiple
dim <op> max(dim)in samewhere(... and ...)rejected → chain separate| where()clauses. - Anchor sub-metrics CAN be referenced in
where()filter conditions ✓ - AQL has no
-forDatetype → usedate_diff('day', a, b)instead. - Rewriter limitation — parameter filter inside metric def (
where(... matches first(param))) freezes predicate beforerelative_periodshift rule runs → SQLWHEREdoesn’t shift for LY. Same root cause as Mon’srelative_periodbug above. - Subquery collapse — param filter on fact-table date alongside
relative_periodcan deduplicate/merge subqueries → time shift lost entirely → TY == LY values. - Join propagation constraint — filters narrow downstream, never widen. Dashboard filter on
dim_date.date(“Last Month”) always clamps; intermediatedim_financial_yeartable can’t bypass without anchor-metric pattern. - Refs: Slack, Ampcode (POC 1), Ampcode (POC 2).
DONE — [[BuyCo]] — hide tabs + tab navigation (#P2, [[Presales]], customer [[BuyCo]]) — closed Sun May 31. Final note: “Seems no response. Close this task.” Customer silent after workaround delivered (text-block
<a href="?_t=<tab_uname>" class="btn-white">HTML, w/ caveats: resets filters + doesn’t work in embed). Hide-tabs forwarded to product backlog (Di Hoang: no immediate plan; Hoang Do: visual-only easy but edge cases). Refs: Slack (original), Slack (internal).DONE — [[BuyCo]] — dynamic dimension selection (#P2, [[Duty Support]], customer [[BuyCo]]) — closed Wed May 27. Field Parameters equivalent solved via Parameter Field + dynamic-dimensions + dynamic-measures + auto-run on changes. Bookmarks-style multi-widget toggle: hypothesis = collapse into single Param-Field-driven chart if visuals share shape. Refs: Slack (question 3), Ampcode.
Docs
DONE — Add demo video for local development docs (#P1, [[Docs]]) — closed Thu May 28 (Backlog/Done). W21+W22 carry, finally landed after anh Khai shipped 2-way sync in
holisticsCLI.DONE — Feedback — Publish via CLI? (Thu May 28). Long-running draft in Backlog closed out — pushed feedback or shelved as auto-export-PNG-style ask supplanted it.
TODO — Fix
.mdURL suffix breaks docs pages (#P2, [[Docs]]) — captured May 26. Triet Pham flagged + Vincent escalated. Same root cause as W14 holistics/docs#1443 (plugin-content-docsshorten-URL behavior). Re-captured in [[2026-06-01]] as a freshTODO Fix markdown docs not found in docs.h— likely same surface as carried W21 P3 broken-link sweep; check dedup before opening separate PR. Refs: Slack thread.Internal
NOT STARTED — DAT-576 MRR exchange rate (#P1, [[Internal]]) — 6-week carry-over (W16 → W22). Mon AM Linear memo slot did not fire. Wed PM + Thu AM re-schedule from Tuesday cut also did not fire. Forcing-function rule ([[Priority Rules]]) breached for 2nd consecutive week. This is no longer a scheduling problem — it’s a prioritization signal. Sales-driven presales (BuyCo, TerryWhite, Prusa) + Logseq harness work consistently win the slot. See Career & Personal Consulting below.
PENDING — DAT-524 exclude internal Zoho test accounts (#P2, [[Internal]]) — PENDING DAT-576. Status change: customer-side direction landed end-of-week — [[2026-06-01]] now captures “work with Thuan, split short-term (Thuan executes) / long-term (I plan first)”. Effectively decoupled from DAT-576 wait. Action: open W23 with explicit split.
ARCHIVED — Continue Cross-Model Calculation (#P2, [[Internal]], DAT-504) — closed May 25 (Backlog/Done). Open since Nov 2025. Archived because no longer important — not actively blocking customer or internal flow; explicit call to drop rather than silently re-baseline. Forcing-function rule applied ([[Priority Rules]] §3).
AI / Reviews
DONE — Review PR holistics/skills#16 “Development/hook” (#P2, [[AI]]) — approved Thu May 28; merged Fri May 29 (author: @datbth). Hook =
validate-aml.shPostToolUse → runsholistics aml validateafter eachWrite/Editon.amlfiles in theholistics-developmentplugin. 4 concerns raised in review:- Single-file vs cross-file validation — hook only re-checks the edited file; renames/field-removals can silently break dependent models.
- CWD assumptions — hook assumes agent CWD = project root; running elsewhere → false validation failures.
- CLI arg-shape drift — tests mock
holisticsCLI → future CLI arg changes uncaught by CI. - Fragile parsing —
sedregex used to extractfile_pathfrom JSON instead ofjq. - Outcome: Dat accepted risks for minor items (sed, CLI drift); single-file limitation documented in script header. Merged as-is. Refs: Slack, Ampcode.
NOTE —
holistics mcpnaming discussion (Slack) — Thành (thanhdk) flaggedmcpis ambiguous (“for MCP” vs “through MCP protocol”). Dat presented 2 paths: (1) keep undermcpnow, gradually surface as root commands when real human/automation usage emerges; (2) dropmcpprefix to “sell the idea first,” accept poor non-agent UX, optimize later. Thành preferred (2) +--for-ai/--json-outputflag for richer agent format. Open: still being debated; my Amp plugin (next item) follows currentholistics mcp <tool>naming.Personal / Tooling
DONE — Plan RFC-0005 — amp thread extraction ([[Logseq]], #P3) — captured May 25. Foundation for nightly Amp-thread sync; complements RFC-0004 PARA. Doc under
docs/plans/.DONE — RFC-0005 update with [[Pi Coding Agent]] ([[Logseq]], #P3) — closed Sun May 31. Revision 2 generalizes from “Amp Thread Extraction” → “Agent Session Extraction — Vendor-Agnostic Memory”. Key design moves:
- Vendor-neutral CLI — single Python
agent-sessionentrypoint, auto-dispatches by ID prefix (T-<uuid>Amp /P-<uuid>Pi). Bare UUIDs fail loudly — no silent vendor-inference. - Reader protocol — strict Python
Readerw/ 3 primitives (list(),export(),locate()). Vendor quirks (Amp CLI shell-out vs Pi local JSONL parsing) hidden behind typed boundary. - Selective Pi capture — Pi sessions captured on-demand or when cited in journal/diff (triggers live-fallback during
resolve). Unlike Amp’s exhaustive daily discovery — Pi often = throwaway chats, full sync = cache bloat. - Redaction at every egress boundary — expanded from R2-push only → also prompt contexts fed to cloud agents + PR comments. Trigger: Pi sessions leaked plaintext API keys + filesystem paths in early tests. Local cache stays full-fidelity; outbound defaults redacted via
trufflehog. - Robust Pi JSONL parsing — unknown event types or content parts rendered as fenced JSON (not dropped); files modified in last 5s skipped (avoid mid-append reads); single trailing malformed line tolerated for active sessions.
- AGENTS.md glossary updated w/ canonical terms. Refs: Ampcode,
docs/plans/RFC-0005-amp-thread-extraction.md.
- Vendor-neutral CLI — single Python
DONE — Add Hugo site to second-brain-logseq ([[Logseq]], #P3) — closed May 25. Hybrid pre-processor (
automation/build-hugo.py) → Cloudflare Pages + Zero Trust Access (Google OAuth + OTP). Live atsecondbrain.lelouvincx.com. Refs: Ampcode.DONE — Install [[Pi Coding Agent]] + config skills ([[Personal]], #P3) — closed Thu May 28. Pi (by Earendil) = “minimal terminal coding harness. Adapt Pi to your workflows, not the other way around” (pi.dev). Hard differentiator vs Amp/Claude Code: no MCP, no sub-agents, no plan mode, no built-in todos, no background bash — all rebuilt as extensions/skills/packages. Primitives, not features. Tools:
read/write/edit/bash/web_search/web_read. Custom config (see [[Pi Coding Agent]] page): web search via pi-search-hub (tavily + exa),rtk init --agent pi. Preferred LLMs: GLM-5.1, Deepseek V4 Pro, Gemini Flash 3.5. Why I picked it up: studying small harnesses unlocks self-maintenance + better mental model for “what is a coding agent.” Amp’s plugin extension copied from Pi → reading Pi clarifies why Amp made certain choices.NOTE — Improve Pi’s SYSTEM.md (Ampcode) — 4 concrete improvements identified + applied locally:
- No background processes (
&) — explicit ban; prevents orphaned bash processes that confuse users. - AGENTS.md awareness — dedicated section defining
AGENTS.mdas source of truth for commands/preferences/codebase structure + instruct agent to proactively suggest additions when a new command is discovered. - No “thanks” for tool results — tool outputs don’t come from user; thanking adds noise.
- File-link examples + fluent linking style — concrete
file://URL examples (basic, special chars, specific lines, ranges) + do/don’t fluent-link example. - Gap addressed: Pi’s original SYSTEM.md described rules abstractly. Concrete worked examples + explicit operational boundaries give the model stronger steering. First contribution path scoped.
- No background processes (
DONE — Add
grill-me+grill-with-docsskills ([[Personal]], #P1) — closed May 26. Already covered in Tuesday cut. Refs: Ampcode, PR agent-skills#20.DONE — Media Manager skill ([[Personal]], #P3) — closed May 26. Already covered in Tuesday cut.
DONE — Amp plugin update for
holistics mcpsubcommand ([[Personal]], #P3) — closed Wed May 27. W21 carry-over finally cleared. Rewrote 2 plugins:holistics-mcp-errors.ts— previously matched on regional MCP server prefixes (bi,eu,sg,us,demo4). Now: regex detectsholistics mcp <tool>in bash invocations; captures hard failures (non-zero exit embedded in bash output) + soft failures (parse JSON, lightweight YAML probe for non-emptyerrors:).holistics-md.ts— intercepts bash outputs containingholistics mcpanalytical queries (execute_aql,execute_viz,execute_viz_block); parses verbose nested YAMLresult_data→ inline clean markdown table.- Migration impact: regional MCP servers removed; requires
holisticsCLI ≥ v1.0.6 in PATH; mustcdinto local Holistics project before runningholistics mcp(enables AML sync checks); env routing handled by CLI natively (no more per-region plugin config). Refs: Ampcode. Note: priority was tracked as #P2 in Tuesday plan but #P3 in journal — treating as #P3 (closed quickly).
DONE — Add Amp plugin for
plannotator([[Personal]], #P3) — closed Sat May 30. Plannotator = interactive plan + code-review tool for AI coding agents (Claude Code, Gemini CLI, Copilot CLI, Amp). Browser-based UI for visually inspecting / annotating (delete, insert, replace, comment) agent plans + diffs — inline terminal review is clunky. The Amp plugin registersplannotator-review/plannotator-annotate/plannotator-lastcommands → launches Plannotator UI in browser → intercepts + pauses agent flow → returns structured annotations/approvals/change-requests back into agent loop. Refs: Ampcode, Ampcode (removed alt impl).DONE — Unsub Contabo VPS ([[Personal]], #P3) — closed May 25. Cost-drop.
DONE — Review and update [[Personal Context]] ([[Personal]], #P3) — closed Mon Jun 1 (boundary close, logged here for visibility). Long-standing backlog item finally cleared.
LEARNING —
holistics-migrate-power-biskill ([[2026-05-28]]) — for snake_case-preferring AML fields backed by mixed-case warehouse columns: don’t create query model; instead override field name on eachdimensionw/definition: @sql {{ #SOURCE."OriginalColumn" }}. Cleaner than wrapping a transform layer.Personal — moved house Fri May 29 (took leave). New studio room near girlfriend’s place; better light + balcony for WFH. Rent +x2 (covering younger brother), ~5M VND net. Affordability validated 2 weeks ago via [[Personal Finance Manager App]] modeling. Budget rebalance plan: less café, more home cooking, no expensive game skins. Photos + walkthrough video stored on
media.secondbrain.lelouvincx.com. Logged in [[2026-05-30]].Learning & Notes
Sloppypasta — heuristic for AI output discipline: “Use AI to accelerate your work or improve what you send. Don’t use it to replace thinking about what you’re sending.” Counter-pattern = copy-pasting raw LLM output to someone — unread, unrefined, unrequested. Applies directly to customer-facing Slack messages, Notion drafts, and PR descriptions.
[[Pi Coding Agent]] — minimal-tool harness (vs Amp’s heavyweight). Why interesting: understanding small harnesses unlocks self-maintenance + better mental model for “what is a coding agent.” Amp’s plugin extension copied from Pi → studying Pi clarifies why Amp made certain design choices.
[[Semantic Layer]] — gathered Reddit comments from r/dataengineering thread:
- “Representing your data in a way that reflects how the business talks about it.” Power BI has always had semantic layer; AI is forcing the issue again.
- “Means of getting away from tribal knowledge and ad-hoc slop houses.”
- Pattern: instead of letting LLM generate SQL directly, let it query semantic layer → stable interface, consistency, no schema-understanding burden.
- KPI/dim/table/field/joins/bridges/topics/controls, all w/ rationale. YAML + Parquet + human-approved AI-suggested shadow loop = working MVP pattern someone shared.
Tableau → Sigma migration skill — viewing critique: long video lost patience, no conceptual diagram. Direct input into our Result-First 7-act PBI demo structure.
holistics-migrate-power-bi0.1.1 — bumped Fri May 22 (Ampcode). Field-name override pattern (snake_case AML over mixed-case warehouse) → captured as new skill note above.[[Helium Browser]] — trialing as Arc replacement ([[2026-05-31]]). Feedback pending.
NOTE — accessories audit — keyboard/mouse downsized to single set (MelGeek O2 + Attach Shark X1 Ultimate V2); Mac upgraded to M4 Pro. Less gear, fewer decision-points.
Next Week
Pulled from pages/Backlog.md,
2026_06_01.md(already captured), and W22 carry-overs. Ordered P1 → P3. 3+ week carry-over rule ([[Priority Rules]]) applied to DAT-576, DAT-524, H1 self-reflection, Spark roadmap.P1 — Must Do
[[Internal]] — DAT-576 MRR exchange rate (DAT-576) — 7-week carry-over. Forcing-function breach 2x in a row. Mandatory next step: 30-min Mon AM Linear comment w/ 3-option memo (re-scope / hand-off / de-prioritize). If Mon AM slips again → escalate as prioritization question to anh Triet in next 1-on-1, not as scheduling. See Career & Personal Consulting.
[[Presales]] — Prep onboarding call w/ [[Bicycle Transit]] ([[2026-06-01]]) — booked Tue Jun 2, 22:00 VNT (60 min) via Calendly. Invitee: Peter Safonov ([email protected]). Account owner: Chukwudi (Americas). Specific ask (from Calendly form + Nam’s forwarded message): “Build one of our test dashboards… simple, trip activity sliced a few different ways, easily filterable by WTD/MTD/YTD with prior-year comparisons.” Prior context: previous “Bicycle Transit Dashboard” session landed well. Anh Huy assigned to me: “this is your deal, please prepare and sit in this one.” Prep direction: re-use the TerryWhite anchor-metric + Param Field pattern from this week (WTD/MTD/YTD switch = Param Field; prior-year comparison =
relative_periodw/ external filter pattern). Refs: Slack, Calendly invite.[[Presales]] — Help [[Prusa]] w/ extend dataset (captured [[2026-06-01]]) — Prusa call followed up Fri May 29 → momentum carry. Pair w/ AML + AQL work.
[[Teaching]] — Soạn roadmap Spark cho Yên — 3+ week slip (W20 → W22 weekend missed for moving house). Re-schedule Sat AM W23. If skipped again → demote to P2 and explicitly book a 4h slot, or hand back to Yên to drive.
[[Personal]] — H1 self-reflection + CV refresh — 4-week slip (W19 → W22 weekend missed for moving house). PR cycle approaching. Sat PM + Sun. Carry-over forcing function: if not delivered W23, demote out of P1 and accept reduced PR-cycle prep.
[[Duty Support]] — [[TerryWhite Chemmart]] dynamic financial date POC (P1, elevated) — pattern feeds Bicycle Transit Tue Jun 2 call + reusable for any FY-aware customer. Wed deep-work. AQL quirks → write up as living-page entry.
[[Presales]] — Power BI to Holistics — narrative and video (P1, almost done) — finish editing 3 recorded videos + cut 3-min marketing version. Publish
a-linkedin-post.mddraft to anh Khai for review. Thu.P2 — Should Do
[[Internal]] — DAT-524 exclude internal Zoho test accounts (DAT-524) — now decoupled from DAT-576. Two-track plan from [[2026-06-01]]: (a) short-term — Thuan executes (review-only on my side); (b) long-term — I plan first. Schedule plan draft Tue PM.
[[Docs]] — Fix markdown docs not found /
.mdURL suffix — dedup the two open items (W21 P3 carry + W22 new P2). Single PR against holistics/docs, same surface as #1443. Fri ship-batch slot.[[Presales]] — PBI agent: ask for data source before implementing — new Backlog item (#P2, [[Presales]]). Tighten
holistics-migrate-power-biskill flow so the agent prompts for the source warehouse/DB before generating AML, instead of guessing then back-pedaling.[[Presales]] — PBI: field name override pattern — new Backlog item (#P2, [[Presales]]). Codify the snake_case-AML / mixed-case-warehouse override pattern (LEARNING from [[2026-05-28]]) into the
holistics-migrate-power-biskill —definition: @sql {{ #SOURCE."OriginalColumn" }}instead of wrapping a query model.[[Presales]] — Polish document embedding (
69ccaad3-d8f1, [[Docs]]/[[Presales]]) — keep evidence-mode; no formalization yet (no 2nd demand signal yet).[[Internal]] — Upgrade
dbt-coreto match prefect — long backlog item, no recent push. Schedule scoping Thu PM.P3 — Nice to Have
[[Logseq]] — Execute RFC-0005 v2 (agent session extraction) — implement first vertical slice for Amp threads, then Pi sessions.
[[Logseq]] — Hugo site: add Google auth — new Backlog (#P3). Layer in-app Google sign-in beyond Cloudflare Access (or move auth into the site itself).
[[Personal]] — Pi harness deeper dive — contribute SYSTEM.md improvement (Ampcode).
[[Personal]] — [[Helium Browser]] feedback note — after 1 week of use.
[[Presales]] — Power BI to Holistics — Themes — back in Backlog demoted P2 → P3 mid-week W22. Pick up only if Fri ship-batch slot has room.
[[Logseq]] — RFC-0004 PARA W22 batch — slipped W22. Try again as Fri ship-batch.
[[Docs]] — Auto-export PNG feedback to Khai To — draft already in Backlog; send.
[[Personal]] — House setup buys (P1 móc treo + tủ lạnh; P2 ly/khay/pallete/máy giặt; P3 giá sách/rèm) — captured [[2026-05-31]].
Monitor (no action — external)
[[Wamly]] onboarding —
#holistics-wamly-external.[[Predictive Index]] — Nam (sales) followed up.
[[Enhance Fitness]] RFP — Chukwudi (sales) followed up.
[[TerryWhite Chemmart]] — engine-fix vs canonical-doc reply from anh Tan Huynh.
Career & Personal Consulting
A reflective + honest read of the week. Structured as Start / Stop / Keep ([[Weekly Planning Rules]] §1 — “decisions in writing beat decisions in conversation”).
Keep
Customer-driven duty support → fast close, fast learning loop. Five TerryWhite + BuyCo asks closed inside 5 days. AQL quirks captured live in the journal (parameter-binding bug, financial-date chained-where,
date_diffvs-). This is the duty-support flywheel working — answers become reusable skill/doc artifacts. Keep: capture LEARNING bullets inside the same task, not in a separate file.Friday ship-the-small-thing batch principle. Even though moving-house ate Fri PM, the rest of the week shipped 3 small Logseq/tooling items (Amp plugin update, Pi install, plannotator plugin) — proves the small-PR muscle is sticky.
Pi Coding Agent investigation. Net-new learning arc — minimal harness lets me reason about agent architecture rather than just consume Amp. Worth keeping as a slow background project.
Honest journaling — house move was logged as the reason for weekend slip. No silent re-baselining. That’s the [[Weekly Planning Rules]] §4 anti-pattern guard working as designed.
Stop
Stop putting DAT-576 in P1 without a structural change. This is the 6th consecutive week the Mon AM slot did not fire. Both the priority page ([[Priority Rules]] §3 “3+ week carry-over rule”) and the planning page ([[Weekly Planning Rules]] §4 “schedule-instead-of-prioritize anti-pattern”) describe this exact failure mode. The honest read: presales + duty support are genuinely more leveraged this quarter, and DAT-576 keeps losing the slot fight. Options for W23:
- Option A — open the 1-on-1 with “I want to formally hand DAT-576 back to anh Triet to re-scope.” This is the decision-in-writing version.
- Option B — block a literal 4-hour calendar event with no fallback (“write memo or do nothing else”). Behavioral forcing function.
- Option C — admit it’s actually P2 right now and accept the slower trajectory. Update the Linear issue accordingly.
- Recommendation: A — surface upward before pretending to schedule it again.
Stop loading the weekend with both H1 reflection AND a moving day AND Spark roadmap. Three immovable items + a life event = guaranteed silent re-baseline. The [[Weekly Planning Rules]] §4 “unbounded weekend” guard caught this in plan W22 but the named items still slipped. Either move H1 reflection into weekday deep-work blocks OR cut to 1 weekend deliverable, named.
Start
Start tracking presales hit-rate per call. Five calls this month (BuyCo, Basata, Enhance Fitness, Predictive Index, Prusa). A 1-line outcome per call in [[Backlog]] under each customer gives a real signal vs my self-perception. Connects to [[Personal Productivity Analysis]] project — first concrete dataset for the weekly-report ingestion idea.
Start a weekly “AQL/AML quirks” living page. This week alone captured 4 distinct quirks (financial-date chain,
date_diff, anchor sub-metricwhere(), snake_case field override). Each is reused-once = save next time. Skip if duplicate ofdax-to-aql.md— but I suspect at least 2 are net-new.Start treating PR cycle prep as a Q-level objective, not a weekly checkbox. 4 weeks of slip is the loudest signal of the year. Either book multi-week prep arc or formally lower the bar w/ manager.
Workload mix (this week, rough split)
╭─────────────────────────────────────────────────────╮ │ Presales ████████████████░░░░░░░░░ ~35% │ │ Duty Support ████████████░░░░░░░░░░░░░ ~25% │ │ Logseq/Tooling ███████████░░░░░░░░░░░░░░ ~22% │ │ Personal/Move █████████░░░░░░░░░░░░░░░░ ~18% │ │ Internal (DAT) ░░░░░░░░░░░░░░░░░░░░░░░░░ 0% │ ╰─────────────────────────────────────────────────────╯Internal at literally zero is the takeaway. Presales/Duty pull keeps winning the slot. Make the prioritization explicit upward.
Recommended resources to learn
Sourced from this week’s themes: agent harnesses, semantic layer, AQL parameter binding, presales narrative discipline.
Agent harnesses (Pi-style minimal)
- Anthropic — Building effective agents — canonical taxonomy of agent patterns (workflow vs agent, prompt chaining, routing, parallelization, orchestrator-workers, evaluator-optimizer). Directly maps to Pi’s minimal tool set + Amp’s plugin extensions.
- Pi docs — read the tools spec end-to-end. Cross-reference w/ Amp’s plugin manifest.
- Geoffrey Litt — Malleable software — pairs w/ the “self-maintainable harness” goal.
- Keyword:
agentic loop,tool-use harness,system prompt minimalism.
Semantic layer (for [[Semantic Layer]] page + Holistics talking points)
- Cube docs — Semantic Layer concepts — the most opinionated open-source semantic-layer reference; useful for prospect comparisons.
- dbt Semantic Layer architecture — adjacent space, often a prospect comparison.
- Benn Stancil — “How do you make a chart” — already in your Backlog refs; re-read for narrative framing.
- Search:
"semantic layer" + LLM,MCP semantic layer,text-to-SQL guardrails.
AQL parameter-binding deep-dive
- Internal: write 1 short Notion page mapping parameter-bound
where()→ literal-boundwhere()resolution order. Cross-linkrelative_period,period_to_date,with_filter,keep_grains. - Pair w/ Holistics docs — Modeling Patterns (already in Backlog as P3).
- Internal: write 1 short Notion page mapping parameter-bound
Presales narrative (PBI demo)
- Andy Raskin — The Greatest Sales Deck I’ve Ever Seen — the Result-First 7-act structure echoes Raskin’s “name the enemy → undeniable shift → promised land” frame.
- Stripe Press — Working Backwards — Amazon-style narrative discipline. Maps to PR/FAQ pattern; helpful for the 3-min marketing cut.
- Video reference: re-watch the Tableau → Sigma demo once more, time-coded for what loses attention.
House setup / WFH ergonomics (since you moved)
- Search:
WFH balcony desk setup,1-room studio acoustics,monitor arm under 1M VND. - Reddit: r/battlestations, r/MalLivingRoom, r/InteriorDesignVN.
- Search:
Tooling
- Helium Browser docs — capture migration friction notes vs Arc.
- plannotator — own plugin; document usage publicly if it stabilizes.
