Migrate to distributed progress model: dated/sourced notes, computed Progress Log
Architectural change approved via the coordinator:
- Sidebar "Tasks" renamed to "Tasks/Progress"
- notes[]/reports[] on every TASKS_DATA/WEEKLY_TASKS_DATA entry are now
{date, source, text} objects instead of plain strings -- date is
mandatory, source is "Peter's weekly task" or "Mckinley-directed"
- Progress Log tab is no longer its own data store -- it's a computed
function that walks every track's notes+reports and merges them into
one chronological feed, killing the duplication/drift risk of
maintaining the same fact in two places
- Closed (Done) subtasks are removed entirely once logged as a dated note:
PE companies, SPIE attendees, Message draft, and IPP for CRM are gone
from Week of 17-21 Aug (all four now logged in that week's notes); CRM
Research's Requirements Definition (WP1) is gone, logged as a WP1-closed
note instead
- "Ongoing" items (LinkedIn Posts, CRM verification items) get their own
third bucket in the sidebar summary, distinct from "still open" and
"Done" -- they're standing/recurring state, not discrete closeable work
- New Market Intelligence card added for Prospect Scout's build (73
companies/6 categories, 60 enriched), tagged Mckinley-directed since it
was a proactive initiative, not something from Peter's weekly sheet
- All historical dates pulled from actual git commit timestamps rather
than recollection, per the coordinator's accuracy requirement
This commit is contained in:
1 parent
3928ec1ba5
commit
17ddb5fc46
1 file changed
+65
-63
+65
-63
@@ -788,7 +788,7 @@
|
||||
|
||||
<div class="nav-group">
|
||||
<button class="sidebar-nav-btn active" data-tab="team">Team</button>
|
||||
<button class="sidebar-nav-btn" data-tab="tasks">Tasks</button>
|
||||
<button class="sidebar-nav-btn" data-tab="tasks">Tasks/Progress</button>
|
||||
<button class="sidebar-nav-btn" data-tab="progress-log">Progress Log</button>
|
||||
<button class="sidebar-nav-btn" data-tab="address-book">Directory</button>
|
||||
<button class="sidebar-nav-btn" data-tab="marketing">Marketing</button>
|
||||
@@ -4804,7 +4804,7 @@
|
||||
<script>
|
||||
var HERO = {
|
||||
"team": ["Team", "Who's on marketing/sales and their roles."],
|
||||
"tasks": ["Tasks", "Everything to accomplish, look at, and get done, across every track."],
|
||||
"tasks": ["Tasks/Progress", "Everything to accomplish, look at, and get done, across every track."],
|
||||
"progress-log": ["Progress Log", "A chronological record of what's been accomplished across every track — source material for reports to Peter."],
|
||||
"address-book": ["Directory", "One outreach board, fed by every branch — Marketing Intelligence, LinkedIn, and the boss's Outreach targets."],
|
||||
"marketing": ["Marketing", ""],
|
||||
@@ -6260,11 +6260,10 @@
|
||||
label: "Outreach",
|
||||
subtasks: [
|
||||
{ subtask: "PE-company LinkedIn sends", ask: "Send the 12 PE-company LinkedIn connection requests — drafts ready and verified", kpi: "—", status: "Still open, manual send still pending with Mckinley" },
|
||||
{ subtask: "13-company backlog", ask: "WBG Device Manufacturer, Device Testing, Radiation Hardness — verified named contact and role for each", kpi: "13/13", status: "Done" },
|
||||
{ subtask: "Duplicate file cleanup", ask: "Contact_List_Phase1_Mckinley (1).xlsx and Updated_Contact_List_Phase1_Mckinley (1).xlsx — both harmless leftovers", kpi: "—", status: "Still open, low priority" }
|
||||
],
|
||||
notes: [
|
||||
"13-company backlog: closes out the full 25-company Phase 1 list (12 Power Electronics + these 13). Notable contacts: Nobuyuki Wakai (GM Semiconductor Quality & Reliability Center, Toshiba), Dr. Nabil Mansour (Engineering Manager, Radiation Test Solutions), Ruben Garcia Alia (Project Coordinator, RADNEXT/CERN). Two flags: GaNPower International's contact is unconfirmed pending manual verification, and no email addresses were found for any of the 13 — a gap across the whole contact list, not specific to this batch."
|
||||
{ date: "2026-08-25", source: "Peter's weekly task", text: "13-company backlog closed (13/13): WBG Device Manufacturer, Device Testing, Radiation Hardness — verified named contact and role for each, closing out the full 25-company Phase 1 list (12 Power Electronics + these 13). Notable contacts: Nobuyuki Wakai (GM Semiconductor Quality & Reliability Center, Toshiba), Dr. Nabil Mansour (Engineering Manager, Radiation Test Solutions), Ruben Garcia Alia (Project Coordinator, RADNEXT/CERN). Two flags: GaNPower International's contact is unconfirmed pending manual verification, and no email addresses were found for any of the 13 — a gap across the whole contact list, not specific to this batch." }
|
||||
],
|
||||
reports: []
|
||||
},
|
||||
@@ -6294,7 +6293,7 @@
|
||||
{ subtask: "Mail Merge email gap", ask: "138-row contact sheet is well-enriched, but only 2 rows have an actual email address", kpi: "—", status: "Still open, blocks any real batch send" }
|
||||
],
|
||||
notes: [
|
||||
"Still undecided whether Outreach or Mail Merge Interface owns the actual email-finding work — flagged as pending a decision, not yet assigned."
|
||||
{ date: "2026-08-21", source: "Mckinley-directed", text: "Still undecided whether Outreach or Mail Merge Interface owns the actual email-finding work — flagged as pending a decision, not yet assigned." }
|
||||
],
|
||||
reports: []
|
||||
},
|
||||
@@ -6302,7 +6301,6 @@
|
||||
id: "open-items-crm-research",
|
||||
label: "CRM Research",
|
||||
subtasks: [
|
||||
{ subtask: "Requirements Definition", ask: "Work Package", kpi: "2026-08-18 → 2026-08-22", status: "Done" },
|
||||
{ subtask: "Candidate Research & Vendor Verification", ask: "Work Package", kpi: "2026-08-22 → 2026-08-27", status: "Still open" },
|
||||
{ subtask: "Pricing & Cost Comparison", ask: "Work Package", kpi: "2026-08-27 → 2026-08-29", status: "Still open" },
|
||||
{ subtask: "Dashboard Build (CRM Research Page)", ask: "Work Package", kpi: "2026-08-29 → 2026-08-30", status: "Still open" },
|
||||
@@ -6310,11 +6308,12 @@
|
||||
{ subtask: "Final Review & Sign-off", ask: "Milestone", kpi: "2026-08-31", status: "Still open" }
|
||||
],
|
||||
notes: [
|
||||
"Resolved: naming one final recommended CRM was never a Peter-mandated requirement — it's CRM Research's own voluntary wish to suggest an option in their report. The IPP's \"no recommendation\" clause still stands, so this isn't tracked as an open task here.",
|
||||
"Outstanding Verification (WP5) covers Zoho EU/DPA tier, Efficy IMAP/DPA, and EspoCRM pricing — unfunded verification items, permanently flagged unless budget reopens."
|
||||
{ date: "2026-08-22", source: "Peter's weekly task", text: "WP1 closed: Requirements Definition Work Package formally closed following Peter Gaal's approval of the CRM Requirements Research IPP/IPO. Interim report submitted per the confirmed WP-boundary reporting cadence. WP2 (Candidate Research & Vendor Verification) now underway." },
|
||||
{ date: "2026-08-21", source: "Mckinley-directed", text: "Resolved: naming one final recommended CRM was never a Peter-mandated requirement — it's CRM Research's own voluntary wish to suggest an option in their report. The IPP's \"no recommendation\" clause still stands, so this isn't tracked as an open task here." },
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "Outstanding Verification (WP5) covers Zoho EU/DPA tier, Efficy IMAP/DPA, and EspoCRM pricing — unfunded verification items, permanently flagged unless budget reopens." }
|
||||
],
|
||||
reports: [
|
||||
"WP1 interim report sent 21.08.2026"
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "WP1 interim report sent 21.08.2026" }
|
||||
]
|
||||
},
|
||||
{
|
||||
@@ -6322,10 +6321,19 @@
|
||||
label: "Opportunities / Conference Scout",
|
||||
subtasks: [],
|
||||
notes: [
|
||||
"After each monthly Scout run, the report needs to be manually pulled and synced into SCOUT_RESULTS — not automated. Next run 2026-09-01, so \"sync Sept 1 scout results\" will become a real task then, not open yet."
|
||||
{ date: "2026-08-21", source: "Mckinley-directed", text: "After each monthly Scout run, the report needs to be manually pulled and synced into SCOUT_RESULTS — not automated. Next run 2026-09-01, so \"sync Sept 1 scout results\" will become a real task then, not open yet." }
|
||||
],
|
||||
reports: []
|
||||
},
|
||||
{
|
||||
id: "open-items-market-intelligence",
|
||||
label: "Market Intelligence",
|
||||
subtasks: [],
|
||||
notes: [
|
||||
{ date: "2026-08-22", source: "Mckinley-directed", text: "Prospect Scout built and populated: new Prospect Scout capability built under Market Intelligence, mirroring Conference Scout's pattern. Two research sweeps produced 73 companies/institutions across 6 categories (Semiconductor Materials & Substrates, Power Electronics, WBG Device Manufacturer, Device Testing, Radiation Hardness, Research & Collaborations) — 68 genuinely new beyond Peter's original 25-company list. Outreach then enriched all 73 with named contacts: 60/73 now have a verified contact and role. Standout find: Thu Nhi Tran Caliste, Industrial Liaison Engineer on ESRF's BM05 beamline — a near-perfect match for TXproducts' X-ray topography service." }
|
||||
],
|
||||
reports: []
|
||||
}
|
||||
];
|
||||
|
||||
var WEEKLY_TASKS_DATA = [
|
||||
@@ -6339,8 +6347,8 @@
|
||||
{ subtask: "Marketing Tool", ask: "Prequired befor: in and out interface so people can use it / Independent of each othermake Mckinley Analysis tool available at Marketing.txproducts.org", kpi: "—", status: "Still open, no status given in the sheet" }
|
||||
],
|
||||
notes: [
|
||||
"Sheet's own header text reads \"Week of Monday, 2.08.2026 – Friday, 28.08.2026\" — likely a typo for 24.08, since the filename and sheet tab both say Week 24-28 Aug. Not corrected here, worth confirming with Peter.",
|
||||
"Marketing Tool's outline text is garbled/run-together in the source file (\"Prequired befor: in and out interface so people can use it / Independent of each othermake Mckinley Analysis tool available at Marketing.txproducts.org\") — entered verbatim, meaning unclear."
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "Sheet's own header text reads \"Week of Monday, 2.08.2026 – Friday, 28.08.2026\" — likely a typo for 24.08, since the filename and sheet tab both say Week 24-28 Aug. Not corrected here, worth confirming with Peter." },
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "Marketing Tool's outline text is garbled/run-together in the source file (\"Prequired befor: in and out interface so people can use it / Independent of each othermake Mckinley Analysis tool available at Marketing.txproducts.org\") — entered verbatim, meaning unclear." }
|
||||
],
|
||||
reports: []
|
||||
},
|
||||
@@ -6348,19 +6356,17 @@
|
||||
id: "week-2026-08-17",
|
||||
label: "Week of 17–21 Aug 2026",
|
||||
subtasks: [
|
||||
{ subtask: "PE companies", ask: "Search LinkedIn for employees of power electronics companies from Peter's market research", kpi: ">10 people", status: "Done" },
|
||||
{ subtask: "SPIE attendees", ask: "Check whether employees of those same PE companies attend SPIE O&P 2026", kpi: ">10", status: "Done" },
|
||||
{ subtask: "Message draft", ask: "Design first-contact info material to send", kpi: ">2", status: "Done" },
|
||||
{ subtask: "IPP for CRM", ask: "Define CRM requirements, stay solution-unbiased", kpi: "—", status: "Done" },
|
||||
{ subtask: "LinkedIn Posts", ask: "Continue posts per the Canva whiteboard", kpi: "4 posts", status: "Ongoing" }
|
||||
],
|
||||
notes: [
|
||||
"PE companies: GaN Systems corrected/renamed to \"Infineon — GaN Power (Ottawa, formerly GaN Systems)\" — GaN Systems has been a wholly-owned Infineon subsidiary since 2023, so it was never really an independent 12th company. Named contact: Kai Ha, Reliability Engineering Manager (Ottawa). For KPI framing: this is 11 independent companies + 1 additional Infineon business line, not 12 distinct companies.",
|
||||
"SPIE attendees: Checked the 12 PE companies against the SPIE 2026 presenter list (137 total) — zero matches, confirmed independently against both the cleaned 131-count and the raw 137-count. No PE company employees are among the SPIE presenters. Likely a scope mismatch (SPIE O&P skews academic/photonics, not power-semiconductor industry) — worth raising with Peter directly rather than treating as an outreach gap."
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "PE companies closed: all 12 Power Electronics companies from Peter's Phase 1 list now have a verified named contact — role, LinkedIn, CEO, and website all confirmed. Target was >10 people; delivered 12/12. GaN Systems corrected/renamed to \"Infineon — GaN Power (Ottawa, formerly GaN Systems)\" — GaN Systems has been a wholly-owned Infineon subsidiary since 2023, so it was never really an independent 12th company. Named contact: Kai Ha, Reliability Engineering Manager (Ottawa). For KPI framing: this is 11 independent companies + 1 additional Infineon business line, not 12 distinct companies." },
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "SPIE attendees closed: checked the 12 PE companies against the SPIE 2026 presenter list (137 total) — zero matches, confirmed independently against both the cleaned 131-count and the raw 137-count. No PE company employees are among the SPIE presenters. Likely a scope mismatch (SPIE O&P skews academic/photonics, not power-semiconductor industry) — worth raising with Peter directly rather than treating as an outreach gap. Separately checked all presenters for any gallium nitride (GaN) connection: zero. Also confirmed zero overlap between our 119 current LinkedIn followers and SPIE presenters." },
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "Message draft closed: first-contact outreach material completed." },
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "IPP for CRM closed: CRM requirements definition IPP drafted and submitted, kicking off the CRM Research track." }
|
||||
],
|
||||
reports: [
|
||||
"Updated contact list: ~/Downloads/Updated_Contact_List_Phase1_Mckinley.xlsx",
|
||||
"Uploaded the updated contact list to Nextcloud, 05_Marketing files"
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "Updated contact list: ~/Downloads/Updated_Contact_List_Phase1_Mckinley.xlsx" },
|
||||
{ date: "2026-08-21", source: "Peter's weekly task", text: "Uploaded the updated contact list to Nextcloud, 05_Marketing files" }
|
||||
]
|
||||
}
|
||||
];
|
||||
@@ -6426,12 +6432,17 @@
|
||||
card.className = "ab-card" + (isSelected ? " selected" : "");
|
||||
card.dataset.id = entry.id;
|
||||
|
||||
var openCount = entry.subtasks.filter(function (s) { return s.status.indexOf("Done") !== 0; }).length;
|
||||
// Three buckets, not two: "Still open" (actionable), "Ongoing" (standing/recurring,
|
||||
// never archived), "Done" (closed and logged -- should be rare/transient here, since
|
||||
// closed items get moved into notes/reports and removed from subtasks entirely).
|
||||
var openCount = entry.subtasks.filter(function (s) { return s.status.indexOf("Still open") === 0; }).length;
|
||||
var ongoingCount = entry.subtasks.filter(function (s) { return s.status.indexOf("Ongoing") === 0; }).length;
|
||||
var summaryParts = [];
|
||||
if (openCount) summaryParts.push(openCount + " still open");
|
||||
if (ongoingCount) summaryParts.push(ongoingCount + " ongoing");
|
||||
var summary = entry.subtasks.length === 0
|
||||
? "No open items"
|
||||
: (entry.subtasks.length === 1
|
||||
? entry.subtasks[0].status
|
||||
: (openCount === 0 ? "All done" : openCount + " still open"));
|
||||
: (summaryParts.length ? summaryParts.join(", ") : "All done");
|
||||
|
||||
card.innerHTML =
|
||||
"<div class=\"ab-card-top\">" +
|
||||
@@ -6486,60 +6497,51 @@
|
||||
);
|
||||
}
|
||||
|
||||
// Notes/Reports items are plain strings for now — add them to a TASKS_DATA entry's
|
||||
// notes/reports array as this week's items come in.
|
||||
// Notes/Reports items are {date, source, text} objects -- date is mandatory (used by
|
||||
// Progress Log's computed feed to sort), source is "Peter's weekly task" or
|
||||
// "Mckinley-directed". Add new items to a TASKS_DATA entry's notes/reports array with
|
||||
// both fields filled in, never just a bare string.
|
||||
function taskEntryMetaLine(item) {
|
||||
return "<span style=\"font-size:0.72rem; font-weight:700; color:#6b7a8d; text-transform:uppercase; letter-spacing:0.03em;\">" +
|
||||
tasksEsc(item.date) + " · " + tasksEsc(item.source) +
|
||||
"</span><br>";
|
||||
}
|
||||
|
||||
function buildTaskEntryList(items) {
|
||||
if (!items || !items.length) return "";
|
||||
return "<ul class=\"plain-list\">" + items.map(function (item) {
|
||||
return "<li>" + tasksEsc(item) + "</li>";
|
||||
return "<li>" + taskEntryMetaLine(item) + tasksEsc(item.text) + "</li>";
|
||||
}).join("") + "</ul>";
|
||||
}
|
||||
|
||||
renderTasksBoard();
|
||||
|
||||
/* ---- Progress Log: chronological narrative record of accomplishments across every
|
||||
track, curated by the cross-session coordinator (not written directly by other
|
||||
tracks) -- source material for Mckinley's reports to Peter. Newest entry first. */
|
||||
var PROGRESS_LOG_DATA = [
|
||||
{
|
||||
date: "2026-08-25",
|
||||
title: "Full 25-company Phase 1 list complete",
|
||||
body: "The remaining 13 companies from Peter's original Phase 1 list (6 WBG Device Manufacturer, 4 Device Testing, 3 Radiation Hardness) now all have a verified named contact and role, closing out the full 25-company list started earlier this week (12 Power Electronics + these 13). Notable contacts found: Nobuyuki Wakai (GM Semiconductor Quality & Reliability Center, Toshiba), Dr. Nabil Mansour (Engineering Manager, Radiation Test Solutions), Ruben Garcia Alia (Project Coordinator, RADNEXT/CERN). Two flags for follow-up: one contact (GaNPower International) is unconfirmed pending manual verification, and no email addresses were found for any of the 13 (a gap across the whole contact list, not specific to this batch)."
|
||||
},
|
||||
{
|
||||
date: "2026-08-21/22",
|
||||
title: "Prospect Scout built and populated",
|
||||
body: "New Prospect Scout capability built under Market Intelligence, mirroring Conference Scout's pattern. Two research sweeps produced 73 companies/institutions across 6 categories (Semiconductor Materials & Substrates, Power Electronics, WBG Device Manufacturer, Device Testing, Radiation Hardness, Research & Collaborations) — 68 genuinely new beyond Peter's original 25-company list. Outreach then enriched all 73 with named contacts: 60/73 now have a verified contact and role. Standout find: Thu Nhi Tran Caliste, Industrial Liaison Engineer on ESRF's BM05 beamline — a near-perfect match for TXproducts' X-ray topography service."
|
||||
},
|
||||
{
|
||||
date: "2026-08-21/22",
|
||||
title: "CRM Research WP1 closed",
|
||||
body: "Requirements Definition Work Package formally closed following Peter Gaal's approval of the CRM Requirements Research IPP/IPO. Interim report submitted per the confirmed WP-boundary reporting cadence. WP2 (Candidate Research & Vendor Verification) now underway."
|
||||
},
|
||||
{
|
||||
date: "2026-08-20",
|
||||
title: "SPIE cross-checks completed",
|
||||
body: "Checked all 137 SPIE 2026 presenters against the 12 PE companies: zero matches (likely a scope mismatch — SPIE skews academic/photonics, not power-semiconductor). Separately checked all presenters for any gallium nitride (GaN) connection: zero. Also confirmed zero overlap between our 119 current LinkedIn followers and SPIE presenters."
|
||||
},
|
||||
{
|
||||
date: "2026-08-20",
|
||||
title: "PE Companies task closed",
|
||||
body: "All 12 Power Electronics companies from Peter's Phase 1 list now have a verified named contact: role, LinkedIn, CEO, and website all confirmed. Target was >10; delivered 12/12."
|
||||
}
|
||||
];
|
||||
|
||||
/* ---- Progress Log: computed, not its own data store. Walks every TASKS_DATA/
|
||||
WEEKLY_TASKS_DATA entry's notes + reports (each already {date, source, text})
|
||||
and merges them into one chronological feed, newest first. This is the single
|
||||
source of truth for "what's been accomplished" -- there's no separate array to
|
||||
keep in sync, so a fact can never drift between two records. */
|
||||
function renderProgressLog() {
|
||||
var list = document.getElementById("progress-log-list");
|
||||
if (!PROGRESS_LOG_DATA.length) {
|
||||
var allTracks = TASKS_DATA.concat(WEEKLY_TASKS_DATA);
|
||||
var entries = [];
|
||||
allTracks.forEach(function (track) {
|
||||
(track.notes || []).forEach(function (n) { entries.push({ date: n.date, source: n.source, text: n.text, track: track.label }); });
|
||||
(track.reports || []).forEach(function (r) { entries.push({ date: r.date, source: r.source, text: r.text, track: track.label }); });
|
||||
});
|
||||
entries.sort(function (a, b) { return b.date.localeCompare(a.date); });
|
||||
|
||||
if (!entries.length) {
|
||||
list.innerHTML = "<div class=\"ab-outreach-empty\">No entries yet.</div>";
|
||||
return;
|
||||
}
|
||||
list.innerHTML = PROGRESS_LOG_DATA.map(function (entry) {
|
||||
list.innerHTML = entries.map(function (entry) {
|
||||
return (
|
||||
"<div class=\"card\">" +
|
||||
"<div style=\"font-size:0.78rem; font-weight:700; color:#6b7a8d; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:6px;\">" + tasksEsc(entry.date) + "</div>" +
|
||||
"<h3 style=\"margin:0 0 8px; font-size:1.05rem; font-weight:800; color:#1b3a5c;\">" + tasksEsc(entry.title) + "</h3>" +
|
||||
"<p style=\"margin:0; font-size:0.95rem; line-height:1.65; color:#3d4c5c;\">" + tasksEsc(entry.body) + "</p>" +
|
||||
"<div style=\"font-size:0.78rem; font-weight:700; color:#6b7a8d; text-transform:uppercase; letter-spacing:0.04em; margin-bottom:6px;\">" +
|
||||
tasksEsc(entry.date) + " · " + tasksEsc(entry.track) + " · " + tasksEsc(entry.source) +
|
||||
"</div>" +
|
||||
"<p style=\"margin:0; font-size:0.95rem; line-height:1.65; color:#3d4c5c;\">" + tasksEsc(entry.text) + "</p>" +
|
||||
"</div>"
|
||||
);
|
||||
}).join("");
|
||||
|
||||
Reference in new issue
Block a user