From a5fb3cd0b01905edc7baef81eea71d9c47de2195 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:17:25 +0530 Subject: [PATCH 01/18] docs: retire SKILLS.md.docx references; add event-lifecycle spec + plan Point create-chapter/create-online-series docs and script docstrings at the repo skills instead of the retired per-folder SKILLS.md.docx. Add the design spec and implementation plan for the event-lifecycle skills. Co-Authored-By: Claude Opus 4.8 --- .../plans/2026-06-30-aaif-event-lifecycle.md | 1411 +++++++++++++++++ .../2026-06-30-aaif-event-lifecycle-design.md | 264 +++ skills/aaif-create-chapter/SKILL.md | 9 +- .../scripts/create_chapter.py | 3 +- skills/aaif-create-online-series/SKILL.md | 8 +- .../scripts/create_series.py | 5 +- 6 files changed, 1689 insertions(+), 11 deletions(-) create mode 100644 docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md create mode 100644 docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md diff --git a/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md b/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md new file mode 100644 index 0000000..be01aad --- /dev/null +++ b/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md @@ -0,0 +1,1411 @@ +# AAIF Event Lifecycle Implementation Plan + +> **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. + +**Goal:** Add a `tracker-io` foundation plus three skills (`aaif-event-status`, `aaif-create-event`, `aaif-update-event`) that read and write an event's section inside a chapter/series `Event Tracker.docx`. + +**Architecture:** A stdlib-only Python package `lib/aaif_meetups/` provides Drive access (`gws.py`), low-level docx-zip/table editing (`office.py`), and an event-aware API + date math (`tracker.py`). Each skill is a thin CLI script that adds `lib/` to `sys.path`, calls the package, and talks to Drive via the `gws` CLI. All docx edits happen in pure Python on `word/document.xml` — no LibreOffice/soffice, no third-party libraries. + +**Tech Stack:** Python 3.9 (stdlib only: `zipfile`, `xml.etree.ElementTree`, `copy`, `datetime`, `re`, `argparse`, `subprocess`, `json`), `unittest`, the `gws` CLI for Google Drive. + +## Global Constraints + +- **Stdlib-only.** No third-party Python deps (no `python-docx`, no `Pillow`). The repo has "no package to build." +- **Pure Python edits.** No `soffice`/LibreOffice anywhere in this plan. +- **Python 3.9**, `ruff` line-length 100, lint select `["F", "E9"]` (bug-focused). +- **Drive via `gws` CLI** only (prereq: `gws-cli-access`), through `lib/aaif_meetups/gws.py`. +- **By-label, never positional.** Detail rows match on label text (`EVENT TITLE`, …); phase tables match on the header `["TASK","OWNER","DUE","STATUS"]`. Never hard-code a table/row index. +- **First argument is ``** — resolved against `Chapters/` (⇒ in-person) or `Online/` (⇒ online); mode is auto-detected from which parent matched. +- **Drive folder IDs:** Chapters `1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx`, Online `1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i`. +- **WordprocessingML namespace:** `http://schemas.openxmlformats.org/wordprocessingml/2006/main` (prefix `w`). +- **Tracker structure (verified):** body is an ordered list of `` and ``. The detail block is a 2-col `` whose first row is `["EVENT TITLE", ]`. Each phase table's first row is `["TASK","OWNER","DUE","STATUS"]`. The `DAY OF` phase table's DUE cells hold clock times (`16:00`), not dates. + +--- + +## File Structure + +- Create `lib/aaif_meetups/__init__.py` — package marker (empty). +- Create `lib/aaif_meetups/gws.py` — Drive helpers (run gws, list/get/update/copy/create, download/upload). +- Create `lib/aaif_meetups/office.py` — docx zip read/write + table/cell/paragraph primitives. +- Create `lib/aaif_meetups/tracker.py` — event-aware API (`locate_tracker`, `list_events`, `read_event`, `clone_example_section`, `write_event`, `set_field`, `set_due_dates`) + date math. +- Create `lib/aaif_meetups/tests/__init__.py` — empty. +- Create `lib/aaif_meetups/tests/fixtures/event_tracker_irl.docx` — real TemplateCity tracker (downloaded). +- Create `lib/aaif_meetups/tests/fixtures/event_tracker_online.docx` — real TemplateSeries tracker (downloaded). +- Create `lib/aaif_meetups/tests/test_office.py`, `test_tracker.py`. +- Create `skills/aaif-event-status/SKILL.md` + `scripts/event_status.py`. +- Create `skills/aaif-create-event/SKILL.md` + `scripts/create_event.py`. +- Create `skills/aaif-update-event/SKILL.md` + `scripts/update_event.py`. +- Modify `skills/aaif-create-chapter/scripts/create_chapter.py` and `skills/aaif-create-online-series/scripts/create_series.py` — import `gws` from the shared package (drop duplicated helpers). + +Run all tests with: `python -m unittest discover -s lib/aaif_meetups/tests -v` + +--- + +## Task 1: Package skeleton + real fixtures + +**Files:** +- Create: `lib/aaif_meetups/__init__.py`, `lib/aaif_meetups/tests/__init__.py` +- Create: `lib/aaif_meetups/tests/fixtures/event_tracker_irl.docx`, `event_tracker_online.docx` + +**Interfaces:** +- Produces: an importable `aaif_meetups` package (when `lib/` is on `sys.path`) and two real tracker fixtures for offline tests. + +- [ ] **Step 1: Create package markers** + +```bash +mkdir -p lib/aaif_meetups/tests/fixtures +touch lib/aaif_meetups/__init__.py lib/aaif_meetups/tests/__init__.py +``` + +- [ ] **Step 2: Download the two real trackers as fixtures** + +```bash +IRL=$(gws drive files list --params '{"q":"'\''1PHvEgqnHo0RrsFyA47O9iRJGaKehC8Eg'\'' in parents and name='\''Event Tracker.docx'\''","fields":"files(id)"}' | grep -oE '"id": "[^"]+"' | head -1 | cut -d'"' -f4) +ONLINE_TPL=$(gws drive files list --params '{"q":"'\''1M15wzKvQqd_jQz5cG16NO_YcbWU3EH1j'\'' in parents and name='\''Event Tracker.docx'\''","fields":"files(id)"}' | grep -oE '"id": "[^"]+"' | head -1 | cut -d'"' -f4) +( cd lib/aaif_meetups/tests/fixtures && gws drive files get --params "{\"fileId\":\"$IRL\",\"alt\":\"media\"}" --output event_tracker_irl.docx ) +( cd lib/aaif_meetups/tests/fixtures && gws drive files get --params "{\"fileId\":\"$ONLINE_TPL\",\"alt\":\"media\"}" --output event_tracker_online.docx ) +``` + +- [ ] **Step 3: Verify both fixtures open as valid docx zips** + +```bash +python3 -c "import zipfile; [print(f, 'word/document.xml' in zipfile.ZipFile('lib/aaif_meetups/tests/fixtures/'+f).namelist()) for f in ('event_tracker_irl.docx','event_tracker_online.docx')]" +``` +Expected: both print `True`. + +- [ ] **Step 4: Commit** + +```bash +git add lib/aaif_meetups +git commit -m "feat(tracker-io): package skeleton + real tracker fixtures" +``` + +--- + +## Task 2: `office.py` — docx zip read/write + +**Files:** +- Create: `lib/aaif_meetups/office.py` +- Test: `lib/aaif_meetups/tests/test_office.py` + +**Interfaces:** +- Produces: + - `W` (str) — the `{namespace}` prefix, e.g. `"{http://…/main}"`. + - `read_document(path: str) -> xml.etree.ElementTree.Element` — parse `word/document.xml`, return its root element. + - `save_document(src_path: str, root: Element, out_path: str) -> None` — rewrite the docx zip at `out_path` copying every entry from `src_path`, replacing `word/document.xml` with the serialized `root`. + +- [ ] **Step 1: Write the failing test** + +```python +# lib/aaif_meetups/tests/test_office.py +import os, tempfile, unittest +from aaif_meetups import office + +FIX = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_irl.docx") + +class TestDocIO(unittest.TestCase): + def test_read_returns_body(self): + root = office.read_document(FIX) + self.assertIsNotNone(root.find(f"{office.W}body")) + + def test_roundtrip_preserves_content_and_zip(self): + root = office.read_document(FIX) + with tempfile.TemporaryDirectory() as d: + out = os.path.join(d, "out.docx") + office.save_document(FIX, root, out) + root2 = office.read_document(out) + # same number of tables survives the round-trip + n1 = len(list(root.iter(f"{office.W}tbl"))) + n2 = len(list(root2.iter(f"{office.W}tbl"))) + self.assertEqual(n1, n2) + self.assertGreater(n2, 5) +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `python -m unittest lib.aaif_meetups.tests.test_office -v` (from repo root, with `PYTHONPATH=lib`) +Actual command: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_office -v` +Expected: FAIL with `ModuleNotFoundError: No module named 'aaif_meetups.office'`. + +- [ ] **Step 3: Write minimal implementation** + +```python +# lib/aaif_meetups/office.py +"""Stdlib-only OOXML helpers: read/write word/document.xml inside a .docx zip, +and navigate/edit its tables, rows, cells, and paragraph run text.""" +import copy +import zipfile +from xml.etree import ElementTree as ET + +NS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" +W = "{%s}" % NS +ET.register_namespace("w", NS) + + +def read_document(path): + with zipfile.ZipFile(path) as z: + return ET.fromstring(z.read("word/document.xml")) + + +def save_document(src_path, root, out_path): + body = ET.tostring(root, encoding="UTF-8", xml_declaration=True) + with zipfile.ZipFile(src_path) as zin: + names = zin.namelist() + data = {n: zin.read(n) for n in names} + data["word/document.xml"] = body + with zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED) as zo: + for n in names: + zo.writestr(n, data[n]) +``` + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_office -v` +Expected: PASS (2 tests). + +- [ ] **Step 5: Commit** + +```bash +git add lib/aaif_meetups/office.py lib/aaif_meetups/tests/test_office.py +git commit -m "feat(office): docx document.xml read/save round-trip" +``` + +--- + +## Task 3: `office.py` — table/cell/paragraph primitives + +**Files:** +- Modify: `lib/aaif_meetups/office.py` +- Test: `lib/aaif_meetups/tests/test_office.py` (add cases) + +**Interfaces:** +- Consumes: `W`, `read_document` (Task 2). +- Produces: + - `tables(root) -> list[Element]` — all `` in document order. + - `rows(tbl) -> list[Element]` — its ``. + - `cells(tr) -> list[Element]` — its ``. + - `cell_text(tc) -> str` — concatenated, stripped run text of a cell. + - `set_cell_text(tc, text: str) -> None` — set the cell's text: write `text` into the first `` of the first run, blank every other `` in the cell (preserves the cell's run/format). + - `para_text(p) -> str` — concatenated run text of a ``. + +- [ ] **Step 1: Write the failing test** + +```python +# add to test_office.py +class TestTablePrimitives(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_detail_table_first_row(self): + # the detail table's first row is ["EVENT TITLE", ] + detail = [t for t in office.tables(self.root) + if office.cell_text(office.cells(office.rows(t)[0])[0]) == "EVENT TITLE"] + self.assertEqual(len(detail), 1) + first = office.rows(detail[0])[0] + self.assertEqual(office.cell_text(office.cells(first)[0]), "EVENT TITLE") + + def test_set_cell_text_roundtrips(self): + detail = next(t for t in office.tables(self.root) + if office.cell_text(office.cells(office.rows(t)[0])[0]) == "EVENT TITLE") + value_cell = office.cells(office.rows(detail)[0])[1] + office.set_cell_text(value_cell, "New Night · Test Series") + self.assertEqual(office.cell_text(value_cell), "New Night · Test Series") +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_office -v` +Expected: FAIL with `AttributeError: module 'aaif_meetups.office' has no attribute 'tables'`. + +- [ ] **Step 3: Write minimal implementation** + +```python +# append to office.py +def tables(root): + return list(root.iter(W + "tbl")) + + +def rows(tbl): + return tbl.findall(W + "tr") + + +def cells(tr): + return tr.findall(W + "tc") + + +def _texts(el): + return list(el.iter(W + "t")) + + +def cell_text(tc): + return "".join(t.text or "" for t in _texts(tc)).strip() + + +def para_text(p): + return "".join(t.text or "" for t in _texts(p)).strip() + + +def set_cell_text(tc, text): + ts = _texts(tc) + if not ts: + raise ValueError("cell has no run text node to set") + ts[0].text = text + # xml:space=preserve guards against trimming + ts[0].set("{http://www.w3.org/XML/1998/namespace}space", "preserve") + for extra in ts[1:]: + extra.text = "" +``` + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_office -v` +Expected: PASS (4 tests). + +- [ ] **Step 5: Commit** + +```bash +git add lib/aaif_meetups/office.py lib/aaif_meetups/tests/test_office.py +git commit -m "feat(office): table/cell/paragraph primitives" +``` + +--- + +## Task 4: `tracker.py` — date math (`parse_event_date`, `parse_due`, `restamp`) + +**Files:** +- Create: `lib/aaif_meetups/tracker.py` +- Test: `lib/aaif_meetups/tests/test_tracker.py` + +**Interfaces:** +- Produces: + - `parse_event_date(text: str) -> datetime.date` — extract the date from a `DATE & TIME` value like `"Tue · June 24, 2026 · 17:30 — late"`. Raises `ValueError` if none found. + - `parse_due(token: str, anchor: datetime.date) -> datetime.date | None` — parse a DUE cell like `"May 27"`/`"Jun 3"` choosing the year (anchor.year-1/+0/+1) closest to `anchor`. Returns `None` for clock-time cells (`"16:00"`) or empty/unparsable tokens. + - `format_due(d: datetime.date) -> str` — `"%b %-d"` style without leading zero, e.g. `"May 27"`. + - `restamp(due_token: str, old_event: datetime.date, new_event: datetime.date) -> str` — if `due_token` is a date, return it shifted by `(new_event - old_event)`'s effect via offset; if it's a clock time or blank, return it unchanged. + +- [ ] **Step 1: Write the failing test** + +```python +# lib/aaif_meetups/tests/test_tracker.py +import datetime as dt +import unittest +from aaif_meetups import tracker + +class TestDates(unittest.TestCase): + def test_parse_event_date(self): + self.assertEqual( + tracker.parse_event_date("Tue · June 24, 2026 · 17:30 — late"), + dt.date(2026, 6, 24)) + + def test_parse_due_infers_year(self): + anchor = dt.date(2026, 6, 24) + self.assertEqual(tracker.parse_due("May 27", anchor), dt.date(2026, 5, 27)) + self.assertEqual(tracker.parse_due("Jun 3", anchor), dt.date(2026, 6, 3)) + + def test_parse_due_skips_clock_and_blank(self): + anchor = dt.date(2026, 6, 24) + self.assertIsNone(tracker.parse_due("16:00", anchor)) + self.assertIsNone(tracker.parse_due("", anchor)) + + def test_restamp_shifts_dates_keeps_clock(self): + old, new = dt.date(2026, 6, 24), dt.date(2026, 7, 8) # +14 days + self.assertEqual(tracker.restamp("May 27", old, new), "Jun 10") + self.assertEqual(tracker.restamp("16:00", old, new), "16:00") + self.assertEqual(tracker.restamp("", old, new), "") +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: FAIL with `ModuleNotFoundError: No module named 'aaif_meetups.tracker'`. + +- [ ] **Step 3: Write minimal implementation** + +```python +# lib/aaif_meetups/tracker.py +"""Event-aware reads/writes over an Event Tracker.docx, plus the shared +date-stamping math. Stdlib-only; pure-Python OOXML editing via office.py.""" +import datetime as dt +import re + +from aaif_meetups import office + +_MONTHS = {m: i for i, m in enumerate( + ["", "jan", "feb", "mar", "apr", "may", "jun", + "jul", "aug", "sep", "oct", "nov", "dec"])} +_DATE_RE = re.compile( + r"\b(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)[a-z]*\.?\s+(\d{1,2})", re.I) +_YEAR_RE = re.compile(r"\b(20\d{2})\b") +_CLOCK_RE = re.compile(r"^\s*\d{1,2}:\d{2}\s*$") + + +def parse_event_date(text): + m = _DATE_RE.search(text) + if not m: + raise ValueError("no month/day in event date: %r" % text) + month, day = _MONTHS[m.group(1)[:3].lower()], int(m.group(2)) + ym = _YEAR_RE.search(text) + year = int(ym.group(1)) if ym else dt.date.today().year + return dt.date(year, month, day) + + +def parse_due(token, anchor): + if token is None or _CLOCK_RE.match(token or "") or not (token or "").strip(): + return None + m = _DATE_RE.search(token) + if not m: + return None + month, day = _MONTHS[m.group(1)[:3].lower()], int(m.group(2)) + best = None + for year in (anchor.year - 1, anchor.year, anchor.year + 1): + try: + cand = dt.date(year, month, day) + except ValueError: + continue + if best is None or abs((cand - anchor).days) < abs((best - anchor).days): + best = cand + return best + + +def format_due(d): + return "%s %d" % (d.strftime("%b"), d.day) + + +def restamp(due_token, old_event, new_event): + parsed = parse_due(due_token, old_event) + if parsed is None: + return due_token + return format_due(parsed + (new_event - old_event)) +``` + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: PASS (4 tests). + +- [ ] **Step 5: Commit** + +```bash +git add lib/aaif_meetups/tracker.py lib/aaif_meetups/tests/test_tracker.py +git commit -m "feat(tracker): date parsing and restamp math" +``` + +--- + +## Task 5: `tracker.py` — event model (`list_events`, `read_event`) + +**Files:** +- Modify: `lib/aaif_meetups/tracker.py` +- Test: `lib/aaif_meetups/tests/test_tracker.py` (add cases) + +**Interfaces:** +- Consumes: `office.tables/rows/cells/cell_text` (Tasks 2–3), `parse_event_date` (Task 4). +- Produces: + - `PHASE_HEADER == ["TASK", "OWNER", "DUE", "STATUS"]`. + - `is_detail_table(tbl) -> bool` — first row first cell == `"EVENT TITLE"`. + - `is_phase_table(tbl) -> bool` — first row cells == `PHASE_HEADER`. + - `list_events(root) -> list[dict]` — `[{"title": str, "detail_table": Element, "phase_tables": [Element], "date": date|None}]` in document order. An event = a detail table + every phase table after it until the next detail table. + - `read_event(root, event) -> dict` — find one event by case-insensitive title substring, or `"next"` (soonest future date), or `"latest"` (max date). Returns `{"title", "details": {label: value}, "phases": [{"tasks": [{"task","owner","due","status"}]}], "date"}`. Raises `LookupError` if not found. + +- [ ] **Step 1: Write the failing test** + +```python +# add to test_tracker.py +import os +from aaif_meetups import office +FIX = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_irl.docx") + +class TestEventModel(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_list_events_finds_the_example(self): + evs = tracker.list_events(self.root) + self.assertEqual(len(evs), 1) + self.assertIn("Agentic AI Night", evs[0]["title"]) + self.assertEqual(len(evs[0]["phase_tables"]), 8) # 4wk,3wk,2wk,1wk,day-before,day-of,next-day,follow-ups + + def test_read_event_details_and_tasks(self): + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["details"]["DATE & TIME"], "Tue · June 24, 2026 · 17:30 — late") + self.assertEqual(ev["date"], dt.date(2026, 6, 24)) + # first phase, first task + self.assertEqual(ev["phases"][0]["tasks"][0]["status"], "Done") + + def test_read_event_next(self): + ev = tracker.read_event(self.root, "next") + self.assertIn("Agentic AI Night", ev["title"]) +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: FAIL with `AttributeError: module 'aaif_meetups.tracker' has no attribute 'list_events'`. + +- [ ] **Step 3: Write minimal implementation** + +```python +# append to tracker.py +PHASE_HEADER = ["TASK", "OWNER", "DUE", "STATUS"] + + +def _row_cells_text(tbl, row_index): + rs = office.rows(tbl) + if not rs: + return [] + return [office.cell_text(c) for c in office.cells(rs[row_index])] + + +def is_detail_table(tbl): + cells0 = _row_cells_text(tbl, 0) + return bool(cells0) and cells0[0] == "EVENT TITLE" + + +def is_phase_table(tbl): + return _row_cells_text(tbl, 0) == PHASE_HEADER + + +def list_events(root): + events, current = [], None + for tbl in office.tables(root): + if is_detail_table(tbl): + details = {} + for r in office.rows(tbl): + cs = office.cells(r) + if len(cs) >= 2: + details[office.cell_text(cs[0])] = office.cell_text(cs[1]) + title = details.get("EVENT TITLE", "") + try: + date = parse_event_date(details.get("DATE & TIME", "")) + except ValueError: + date = None + current = {"title": title, "detail_table": tbl, + "phase_tables": [], "date": date} + events.append(current) + elif is_phase_table(tbl) and current is not None: + current["phase_tables"].append(tbl) + return events + + +def _select(events, event): + key = (event or "").strip().lower() + dated = [e for e in events if e["date"]] + if key == "next": + future = sorted([e for e in dated if e["date"] >= dt.date.today()], + key=lambda e: e["date"]) + return (future or sorted(dated, key=lambda e: e["date"]))[0] if dated else None + if key == "latest": + return max(dated, key=lambda e: e["date"]) if dated else None + for e in events: + if key in e["title"].lower(): + return e + return None + + +def read_event(root, event): + events = list_events(root) + e = _select(events, event) + if e is None: + raise LookupError("no event matching %r" % event) + details = {} + for r in office.rows(e["detail_table"]): + cs = office.cells(r) + if len(cs) >= 2: + details[office.cell_text(cs[0])] = office.cell_text(cs[1]) + phases = [] + for pt in e["phase_tables"]: + tasks = [] + for r in office.rows(pt)[1:]: + cs = [office.cell_text(c) for c in office.cells(r)] + cs += [""] * (4 - len(cs)) + tasks.append({"task": cs[0], "owner": cs[1], "due": cs[2], "status": cs[3]}) + phases.append({"tasks": tasks}) + return {"title": e["title"], "details": details, "phases": phases, "date": e["date"]} +``` + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: PASS (all tracker tests). + +- [ ] **Step 5: Commit** + +```bash +git add lib/aaif_meetups/tracker.py lib/aaif_meetups/tests/test_tracker.py +git commit -m "feat(tracker): event model — list_events, read_event" +``` + +--- + +## Task 6: `tracker.py` — writes (`set_field`, `set_due_dates`) + +**Files:** +- Modify: `lib/aaif_meetups/tracker.py` +- Test: `lib/aaif_meetups/tests/test_tracker.py` (add cases) + +**Interfaces:** +- Consumes: `list_events`, `_select`, `restamp`, `office.set_cell_text` / `cells` / `rows`. +- Produces: + - `set_field(root, event, label, value) -> None` — set the value cell of the detail row whose label cell == `label`, for the selected event. Raises `LookupError` if event or label missing. + - `set_due_dates(root, event, new_event_date) -> int` — for the selected event, restamp every phase table DUE cell from the event's current date to `new_event_date`; also update the `DATE & TIME` detail value's date. Returns the count of DUE cells changed. + +- [ ] **Step 1: Write the failing test** + +```python +# add to test_tracker.py +import tempfile +class TestWrites(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_set_field(self): + tracker.set_field(self.root, "Agentic AI Night", "SPEAKER(S)", "Jane Doe (Infra)") + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["details"]["SPEAKER(S)"], "Jane Doe (Infra)") + + def test_set_due_dates_shifts_two_weeks(self): + # original 4-weeks-out task due "May 27"; +14 days -> "Jun 10" + changed = tracker.set_due_dates(self.root, "Agentic AI Night", dt.date(2026, 7, 8)) + self.assertGreater(changed, 0) + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["phases"][0]["tasks"][0]["due"], "Jun 10") + # day-of clock times unchanged + dayof = ev["phases"][5]["tasks"][0]["due"] + self.assertRegex(dayof, r"^\d{1,2}:\d{2}$") +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: FAIL with `AttributeError: ... has no attribute 'set_field'`. + +- [ ] **Step 3: Write minimal implementation** + +These public writes delegate to **element-level helpers** that act on a detail-table / +phase-table directly (no event re-selection). Task 7 reuses the same helpers on cloned +elements — this is what avoids the "edit the wrong section" ambiguity. + +```python +# append to tracker.py +def _selected_or_raise(root, event): + e = _select(list_events(root), event) + if e is None: + raise LookupError("no event matching %r" % event) + return e + + +def _set_detail(detail_tbl, label, value): + """Set the value cell of the row whose label cell == label. Returns bool found.""" + for r in office.rows(detail_tbl): + cs = office.cells(r) + if len(cs) >= 2 and office.cell_text(cs[0]) == label: + office.set_cell_text(cs[1], value) + return True + return False + + +def _restamp_tables(detail_tbl, phase_tbls, old_date, new_date): + """Shift every phase DUE cell by (new-old); sync the DATE & TIME value's date. + Returns the count of DUE cells changed.""" + changed = 0 + for pt in phase_tbls: + for r in office.rows(pt)[1:]: + cs = office.cells(r) + if len(cs) >= 3: + cur = office.cell_text(cs[2]) + nv = restamp(cur, old_date, new_date) + if nv != cur: + office.set_cell_text(cs[2], nv) + changed += 1 + for r in office.rows(detail_tbl): + cs = office.cells(r) + if len(cs) >= 2 and office.cell_text(cs[0]) == "DATE & TIME": + txt = office.cell_text(cs[1]) + txt = _DATE_RE.sub(new_date.strftime("%B ") + str(new_date.day), txt, count=1) + txt = _YEAR_RE.sub(str(new_date.year), txt, count=1) + office.set_cell_text(cs[1], txt) + return changed + + +def _reset_status(phase_tbls): + for pt in phase_tbls: + for r in office.rows(pt)[1:]: + cs = office.cells(r) + if len(cs) >= 4: + office.set_cell_text(cs[3], "Not started") + + +def set_field(root, event, label, value): + e = _selected_or_raise(root, event) + if not _set_detail(e["detail_table"], label, value): + raise LookupError("no detail row labelled %r" % label) + + +def set_due_dates(root, event, new_event_date): + e = _selected_or_raise(root, event) + if e["date"] is None: + raise ValueError("event has no parseable current date; cannot restamp") + return _restamp_tables(e["detail_table"], e["phase_tables"], e["date"], new_event_date) +``` + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: PASS. + +- [ ] **Step 5: Commit** + +```bash +git add lib/aaif_meetups/tracker.py lib/aaif_meetups/tests/test_tracker.py +git commit -m "feat(tracker): set_field and set_due_dates writes" +``` + +--- + +## Task 7: `tracker.py` — clone & append a new event section + +**Files:** +- Modify: `lib/aaif_meetups/tracker.py` +- Test: `lib/aaif_meetups/tests/test_tracker.py` (add cases) + +**Interfaces:** +- Consumes: `office` (W, tables, rows, cells), `list_events`, `is_detail_table`, `is_phase_table`, `_set_detail`, `_restamp_tables`, `_reset_status`. (Add `import copy` to `tracker.py`'s imports.) +- Produces: + - `add_event(root, fields: dict, event_date: datetime.date) -> None` — clone the body elements spanning the **first** existing event (the heading paragraph immediately before its detail table, through its last phase table), edit the **cloned elements directly** (set detail fields from `fields`, restamp DUE cells from the example date to `event_date`, reset all STATUS to `"Not started"`), then insert the block just before the body's trailing ``. Editing the clone before insertion avoids any title/date selection ambiguity with the original example. `fields` keys are detail labels (`"EVENT TITLE"`, `"DATE & TIME"`, …). + +- [ ] **Step 1: Write the failing test** + +```python +# add to test_tracker.py +class TestAddEvent(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_add_event_appends_section(self): + before = len(tracker.list_events(self.root)) + tracker.add_event(self.root, { + "EVENT TITLE": "Eval Night · Builder Series", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late", + "SPEAKER(S)": "TBD", + }, dt.date(2026, 8, 12)) + evs = tracker.list_events(self.root) + self.assertEqual(len(evs), before + 1) + new = tracker.read_event(self.root, "Eval Night") + self.assertEqual(new["details"]["EVENT TITLE"], "Eval Night · Builder Series") + # statuses reset + self.assertTrue(all(t["status"] == "Not started" + for ph in new["phases"] for t in ph["tasks"])) + # dates restamped to the new event date (4-wks-out is ~28 days before Aug 12) + self.assertNotEqual(new["phases"][0]["tasks"][0]["due"], "May 27") +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: FAIL with `AttributeError: ... has no attribute 'add_event'`. + +- [ ] **Step 3: Write minimal implementation** + +Add `import copy` to the top of `tracker.py`, then append: + +```python +# append to tracker.py +def _body(root): + return root.find(office.W + "body") + + +def add_event(root, fields, event_date): + events = list_events(root) + if not events: + raise LookupError("tracker has no example event section to clone") + example = events[0] + old_date = example["date"] + body = _body(root) + kids = list(body) + # span: the paragraph immediately before the detail table .. the last phase table + detail_idx = kids.index(example["detail_table"]) + start = detail_idx - 1 if detail_idx > 0 and kids[detail_idx - 1].tag == office.W + "p" else detail_idx + last = example["phase_tables"][-1] if example["phase_tables"] else example["detail_table"] + end = kids.index(last) + block = [copy.deepcopy(kids[i]) for i in range(start, end + 1)] + # edit the CLONED elements directly (no re-selection against the original) + new_detail = next(el for el in block + if el.tag == office.W + "tbl" and is_detail_table(el)) + new_phases = [el for el in block + if el.tag == office.W + "tbl" and is_phase_table(el)] + for label, value in fields.items(): + _set_detail(new_detail, label, value) + if old_date is not None: + _restamp_tables(new_detail, new_phases, old_date, event_date) + _reset_status(new_phases) + # insert before trailing sectPr if present, else at end + sectpr = body.find(office.W + "sectPr") + insert_at = kids.index(sectpr) if sectpr is not None else len(kids) + for offset, el in enumerate(block): + body.insert(insert_at + offset, el) +``` + +Because the clone is edited *before* insertion, the new section already carries its own +title/date — later title-based reads (`read_event("Eval Night")`) are unambiguous. + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: PASS. + +- [ ] **Step 5: Validate the written docx still opens (no corruption)** + +Add a round-trip assertion to the test: after `add_event`, `save_document` to a temp path and `read_document` it back, asserting the table count increased by 9 (1 detail + 8 phase). Append to `test_add_event_appends_section`: + +```python + import tempfile + with tempfile.TemporaryDirectory() as dd: + out = os.path.join(dd, "out.docx") + office.save_document(FIX, self.root, out) + reloaded = office.read_document(out) + self.assertEqual(len(tracker.list_events(reloaded)), before + 1) +``` + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: PASS — the appended section survives a save→reload. + +- [ ] **Step 6: Commit** + +```bash +git add lib/aaif_meetups/tracker.py lib/aaif_meetups/tests/test_tracker.py +git commit -m "feat(tracker): add_event clones and appends a dated section" +``` + +--- + +## Task 8: `gws.py` — Drive helpers (extracted, shared) + +**Files:** +- Create: `lib/aaif_meetups/gws.py` +- Test: `lib/aaif_meetups/tests/test_gws.py` + +**Interfaces:** +- Produces (ported verbatim from `create_chapter.py`'s helpers, made importable): + - `gws_json(*args, params=None, body=None) -> dict` + - `gws_download(file_id, out_path) -> None` + - `gws_upload(file_id, path, mime) -> None` + - `list_children(folder_id) -> list[dict]` + - `find_child(folder_id, name) -> dict | None` — first non-trashed child with exact name. + - `DOCX` mime constant. + +- [ ] **Step 1: Write the failing test** (pure-function test only — no Drive calls) + +```python +# lib/aaif_meetups/tests/test_gws.py +import unittest +from aaif_meetups import gws + +class TestGwsModule(unittest.TestCase): + def test_exposes_callables_and_mime(self): + for name in ("gws_json", "gws_download", "gws_upload", + "list_children", "find_child"): + self.assertTrue(callable(getattr(gws, name)), name) + self.assertIn("wordprocessingml", gws.DOCX) +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_gws -v` +Expected: FAIL with `ModuleNotFoundError: No module named 'aaif_meetups.gws'`. + +- [ ] **Step 3: Write minimal implementation** + +Port the helpers from `skills/aaif-create-chapter/scripts/create_chapter.py` (the `_gws`, `gws_json`, `gws_download`, `gws_upload`, `list_children` functions and the `DOCX`/folder constants), into `lib/aaif_meetups/gws.py`. Add `find_child`: + +```python +def find_child(folder_id, name): + for c in list_children(folder_id): + if c.get("name") == name: + return c + return None +``` + +Keep `list_children` filtering `trashed=false` (already does). Do NOT change behavior — this is a lift-and-shift so the existing scripts can import it in Task 12. + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_gws -v` +Expected: PASS. + +- [ ] **Step 5: Commit** + +```bash +git add lib/aaif_meetups/gws.py lib/aaif_meetups/tests/test_gws.py +git commit -m "feat(gws): shared Drive helpers extracted from create_chapter" +``` + +--- + +## Task 9: `tracker.py` — `locate_tracker` (Drive resolution) + +**Files:** +- Modify: `lib/aaif_meetups/tracker.py` +- Test: `lib/aaif_meetups/tests/test_tracker.py` (add a test that monkeypatches `gws`) + +**Interfaces:** +- Consumes: `gws.list_children`, `gws.find_child`. +- Produces: + - `CHAPTERS_PARENT`, `ONLINE_PARENT` constants (the folder IDs from Global Constraints). + - `locate_tracker(name) -> {"file_id", "kind", "folder_id", "folder_name"}` — find a folder named `name` (case-insensitive exact) under Chapters/ first, else Online/; `kind` is `"chapter"` or `"series"`. Inside it, find `Event Tracker.docx`. Raises `LookupError` if the folder or the tracker is missing. + +- [ ] **Step 1: Write the failing test** (monkeypatch Drive — no network) + +```python +# add to test_tracker.py +from aaif_meetups import gws as gws_mod + +class TestLocate(unittest.TestCase): + def test_locate_prefers_chapters_then_online(self): + calls = {} + def fake_children(folder_id): + if folder_id == tracker.CHAPTERS_PARENT: + return [{"id": "fA", "name": "Berlin", + "mimeType": "application/vnd.google-apps.folder"}] + if folder_id == "fA": + return [{"id": "tDoc", "name": "Event Tracker.docx"}] + return [] + orig = gws_mod.list_children + gws_mod.list_children = fake_children + try: + got = tracker.locate_tracker("berlin") + finally: + gws_mod.list_children = orig + self.assertEqual(got["file_id"], "tDoc") + self.assertEqual(got["kind"], "chapter") +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: FAIL with `AttributeError: ... has no attribute 'locate_tracker'`. + +- [ ] **Step 3: Write minimal implementation** + +```python +# append to tracker.py +from aaif_meetups import gws + +CHAPTERS_PARENT = "1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx" +ONLINE_PARENT = "1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i" +FOLDER_MIME = "application/vnd.google-apps.folder" + + +def _find_folder(parent, name): + key = name.strip().lower() + for c in gws.list_children(parent): + if c.get("mimeType") == FOLDER_MIME and c.get("name", "").lower() == key: + return c + return None + + +def locate_tracker(name): + for parent, kind in ((CHAPTERS_PARENT, "chapter"), (ONLINE_PARENT, "series")): + folder = _find_folder(parent, name) + if folder: + doc = gws.find_child(folder["id"], "Event Tracker.docx") + if not doc: + raise LookupError("%r has no Event Tracker.docx" % name) + return {"file_id": doc["id"], "kind": kind, + "folder_id": folder["id"], "folder_name": folder["name"]} + raise LookupError("no chapter or series named %r" % name) +``` + +- [ ] **Step 4: Run test to verify it passes** + +Run: `PYTHONPATH=lib python -m unittest aaif_meetups.tests.test_tracker -v` +Expected: PASS. + +- [ ] **Step 5: Commit** + +```bash +git add lib/aaif_meetups/tracker.py lib/aaif_meetups/tests/test_tracker.py +git commit -m "feat(tracker): locate_tracker resolves chapter or series" +``` + +--- + +## Task 10: Skill `aaif-event-status` (read-only) + +**Files:** +- Create: `skills/aaif-event-status/SKILL.md` +- Create: `skills/aaif-event-status/scripts/event_status.py` + +**Interfaces:** +- Consumes: `tracker.locate_tracker`, `gws.gws_download`, `office.read_document`, `tracker.list_events` / `read_event`, `tracker.parse_due`. +- Produces: a CLI `python event_status.py [event]` that prints overdue / due-soon tasks by owner. Read-only. + +- [ ] **Step 1: Write the failing test (core logic, offline)** + +```python +# skills/aaif-event-status/scripts/test_event_status.py +import datetime as dt, os, sys, unittest +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", "lib"))) +sys.path.insert(0, os.path.dirname(__file__)) +import event_status + +class TestClassify(unittest.TestCase): + def test_overdue_and_due_soon(self): + today = dt.date(2026, 6, 10) + tasks = [ + {"task": "A", "owner": "Org", "due": "Jun 3", "status": "Not started"}, # overdue + {"task": "B", "owner": "Org", "due": "Jun 12", "status": "Not started"}, # due soon + {"task": "C", "owner": "Org", "due": "Jun 3", "status": "Done"}, # done -> ignore + {"task": "D", "owner": "Co", "due": "16:00", "status": "Not started"}, # clock -> ignore + ] + anchor = dt.date(2026, 6, 24) + res = event_status.classify(tasks, anchor, today) + self.assertEqual([t["task"] for t in res["overdue"]], ["A"]) + self.assertEqual([t["task"] for t in res["due_soon"]], ["B"]) +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `python -m unittest skills.aaif-event-status.scripts.test_event_status -v` — but the hyphen in the path blocks dotted import. Run directly instead: +`python skills/aaif-event-status/scripts/test_event_status.py` +Expected: FAIL with `ModuleNotFoundError: No module named 'event_status'`. + +- [ ] **Step 3: Write minimal implementation** + +```python +#!/usr/bin/env python3 +"""Read-only status digest for a chapter/series Event Tracker: overdue and +due-soon tasks grouped by owner. Reads via the gws CLI; pure-Python parsing.""" +import argparse, datetime as dt, os, pathlib, sys, tempfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups import gws, office, tracker # noqa: E402 + +DUE_SOON_DAYS = 7 + + +def classify(tasks, anchor, today): + overdue, due_soon = [], [] + for t in tasks: + d = tracker.parse_due(t.get("due", ""), anchor) + if d is None or t.get("status") == "Done": + continue + if d < today: + overdue.append(t) + elif (d - today).days <= DUE_SOON_DAYS: + due_soon.append(t) + return {"overdue": overdue, "due_soon": due_soon} + + +def _digest(ev, today): + flat = [t for ph in ev["phases"] for t in ph["tasks"]] + res = classify(flat, ev["date"] or today, today) + lines = ["", "== %s ==" % ev["title"], + "%d overdue, %d due within %d days" + % (len(res["overdue"]), len(res["due_soon"]), DUE_SOON_DAYS)] + for label in ("overdue", "due_soon"): + if res[label]: + lines.append(" %s:" % label.replace("_", "-")) + for t in sorted(res[label], key=lambda x: x.get("owner", "")): + lines.append(" [%s] %s (due %s)" % (t["owner"], t["task"], t["due"])) + return "\n".join(lines) + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("group", help="chapter or series name") + ap.add_argument("event", nargs="?", help="optional event title; default all") + a = ap.parse_args() + loc = tracker.locate_tracker(a.group) + with tempfile.TemporaryDirectory() as d: + path = os.path.join(d, "tracker.docx") + gws.gws_download(loc["file_id"], path) + root = office.read_document(path) + events = tracker.list_events(root) + if a.event: + events = [e for e in events if a.event.lower() in e["title"].lower()] + today = dt.date.today() + print("%s (%s) — %d event(s)" % (loc["folder_name"], loc["kind"], len(events))) + for e in events: + print(_digest(tracker.read_event(root, e["title"]), today)) + + +if __name__ == "__main__": + main() +``` + +- [ ] **Step 4: Run test to verify it passes** + +Run: `python skills/aaif-event-status/scripts/test_event_status.py` +Expected: PASS. + +- [ ] **Step 5: Write the SKILL.md** + +```markdown +--- +name: aaif-event-status +description: Report task status for an AAIF chapter or online series — which event tasks are overdue or due soon, grouped by owner, read from the Event Tracker.docx. Use when asked for the status / health / what's-due of a chapter or series' events. +argument-hint: ' [event]' +--- + +# AAIF Event Status + +Read-only digest of a chapter or online series' `Event Tracker.docx`: for each +event, the **overdue** and **due-soon** (within 7 days) tasks, grouped by owner. +Never writes. + +Prereq: the `gws` CLI must be installed and authenticated (`gws-cli-access`). +The first argument resolves under **Chapters/** or **Online/** automatically. + +## Run + + python skills/aaif-event-status/scripts/event_status.py "" ["event"] + +Examples: + + python skills/aaif-event-status/scripts/event_status.py "Berlin" + python skills/aaif-event-status/scripts/event_status.py "Reading Group" "Paper Club" + +Status is computed against today's date from each task's DUE cell; clock-time +day-of tasks and `Done` tasks are excluded. +``` + +- [ ] **Step 6: Commit** + +```bash +git add skills/aaif-event-status +git commit -m "feat: aaif-event-status skill (read-only task digest)" +``` + +--- + +## Task 11: Skills `aaif-create-event` and `aaif-update-event` + +**Files:** +- Create: `skills/aaif-create-event/SKILL.md` + `scripts/create_event.py` +- Create: `skills/aaif-update-event/SKILL.md` + `scripts/update_event.py` +- Test: `skills/aaif-create-event/scripts/test_create_event.py` + +**Interfaces:** +- Consumes: `tracker.locate_tracker/add_event/set_field/set_due_dates/read_event/parse_event_date`, `gws.gws_download/gws_upload/DOCX`, `office.read_document/save_document`. +- Produces: + - `create_event.py --title T --date "..." [--theme --venue --platform --speakers --luma --capacity --organizer] [--dry-run]` — downloads the tracker, `add_event`, re-uploads. Aborts if an event with the same title already exists. + - `update_event.py [--set "LABEL=value" ...] [--date "..."]` — applies field edits; if `--date`, recomputes due dates; prints which downstream assets are now stale. + +- [ ] **Step 1: Write the failing test for create_event core (offline, on a fixture copy)** + +```python +# skills/aaif-create-event/scripts/test_create_event.py +import datetime as dt, os, shutil, sys, tempfile, unittest +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", "lib"))) +sys.path.insert(0, os.path.dirname(__file__)) +import create_event +from aaif_meetups import office, tracker + +FIX = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", + "lib", "aaif_meetups", "tests", "fixtures", + "event_tracker_irl.docx")) + +class TestCreateCore(unittest.TestCase): + def test_apply_adds_event_to_local_docx(self): + with tempfile.TemporaryDirectory() as d: + local = os.path.join(d, "t.docx") + shutil.copy(FIX, local) + create_event.apply_local(local, { + "EVENT TITLE": "Eval Night", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late", + }, dt.date(2026, 8, 12)) + root = office.read_document(local) + titles = [e["title"] for e in tracker.list_events(root)] + self.assertIn("Eval Night", titles) +``` + +- [ ] **Step 2: Run test to verify it fails** + +Run: `python skills/aaif-create-event/scripts/test_create_event.py` +Expected: FAIL with `ModuleNotFoundError: No module named 'create_event'`. + +- [ ] **Step 3: Implement `create_event.py`** + +```python +#!/usr/bin/env python3 +"""Create a new event section in a chapter/series Event Tracker.docx: clone the +example section, fill details, and stamp all phase due-dates from the event date. +Stdlib-only, pure-Python docx edit; Drive I/O via the gws CLI.""" +import argparse, datetime as dt, os, pathlib, sys, tempfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups import gws, office, tracker # noqa: E402 + +# CLI flag -> detail label +FIELD_MAP = {"title": "EVENT TITLE", "date": "DATE & TIME", "theme": "THEME / SERIES", + "venue": "VENUE", "platform": "VENUE", "speakers": "SPEAKER(S)", + "luma": "LUMA URL", "capacity": "CAPACITY / RSVPS", + "organizer": "ORGANIZER ON POINT", "location": "LOCATION / CITY"} + + +def apply_local(path, fields, event_date): + root = office.read_document(path) + tracker.add_event(root, fields, event_date) + office.save_document(path, root, path) + + +def _fields_from_args(a): + fields = {} + for flag, label in FIELD_MAP.items(): + val = getattr(a, flag, None) + if val: + fields[label] = val + return fields + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("group", help="chapter or series name") + ap.add_argument("--title", required=True) + ap.add_argument("--date", required=True, help='e.g. "Wed · August 12, 2026 · 18:00 — late"') + for f in ("theme", "venue", "platform", "speakers", "luma", "capacity", + "organizer", "location"): + ap.add_argument("--" + f) + ap.add_argument("--dry-run", action="store_true") + a = ap.parse_args() + + event_date = tracker.parse_event_date(a.date) + fields = _fields_from_args(a) + loc = tracker.locate_tracker(a.group) + print("Tracker: %s (%s) event: %s date: %s" + % (loc["folder_name"], loc["kind"], a.title, event_date)) + if a.dry_run: + print("[dry-run] would clone the example section and stamp dates; no write.") + return + with tempfile.TemporaryDirectory() as d: + path = os.path.join(d, "tracker.docx") + gws.gws_download(loc["file_id"], path) + root = office.read_document(path) + if any(a.title.lower() in e["title"].lower() for e in tracker.list_events(root)): + sys.exit("ABORT: an event titled %r already exists in this tracker." % a.title) + tracker.add_event(root, fields, event_date) + office.save_document(path, root, path) + gws.gws_upload(loc["file_id"], path, gws.DOCX) + print("Done. New event section added and due-dates stamped.") + + +if __name__ == "__main__": + main() +``` + +- [ ] **Step 4: Run create_event test to verify it passes** + +Run: `python skills/aaif-create-event/scripts/test_create_event.py` +Expected: PASS. + +- [ ] **Step 5: Implement `update_event.py`** + +```python +#!/usr/bin/env python3 +"""Apply a targeted change to an existing event in a chapter/series tracker: +edit detail fields and, when the date moves, recompute every phase due-date. +Then report which downstream assets are now stale. Pure-Python docx edit.""" +import argparse, os, pathlib, sys, tempfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups import gws, office, tracker # noqa: E402 + +STALE_ON_DATE = ["square banner", "Luma cover", "announcement post", + "carousel", "day-of slides", "attendee reminder"] +STALE_ON_SPEAKER = ["speaker bio", "announcement post", "carousel", "day-of slides"] + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("group") + ap.add_argument("event") + ap.add_argument("--set", action="append", default=[], + metavar="LABEL=VALUE", help='e.g. --set "SPEAKER(S)=Jane Doe"') + ap.add_argument("--date", help="new DATE & TIME value; triggers due-date recompute") + a = ap.parse_args() + + loc = tracker.locate_tracker(a.group) + with tempfile.TemporaryDirectory() as d: + path = os.path.join(d, "tracker.docx") + gws.gws_download(loc["file_id"], path) + root = office.read_document(path) + stale = set() + for pair in a.set: + label, _, value = pair.partition("=") + tracker.set_field(root, a.event, label.strip(), value.strip()) + if "SPEAKER" in label.upper(): + stale.update(STALE_ON_SPEAKER) + if a.date: + tracker.set_field(root, a.event, "DATE & TIME", a.date) + tracker.set_due_dates(root, a.event, tracker.parse_event_date(a.date)) + stale.update(STALE_ON_DATE) + office.save_document(path, root, path) + gws.gws_upload(loc["file_id"], path, gws.DOCX) + print("Updated %r in %s." % (a.event, loc["folder_name"])) + if stale: + print("Now stale — re-run these skills: " + ", ".join(sorted(stale))) + + +if __name__ == "__main__": + main() +``` + +Note: `update_event.py` is exercised through `tracker`'s already-tested `set_field`/`set_due_dates`; no separate unit test beyond those. The stale-asset lists are static strings (no logic to test). + +- [ ] **Step 6: Write both SKILL.md files** + +`skills/aaif-create-event/SKILL.md`: + +```markdown +--- +name: aaif-create-event +description: Create a new event in an AAIF chapter or online series by cloning the example section in its Event Tracker.docx and stamping all phase task due-dates from the event date. Use when asked to add/schedule/set up a new event for a chapter or series. +argument-hint: ' --title "..." --date "..."' +--- + +# AAIF Create Event + +Clone the example event section in a chapter/series `Event Tracker.docx`, fill the +detail block, and compute every phase task's DUE date backward from the event date. +Mode is auto-detected: a chapter (under Chapters/) clones the in-person task set; an +online series (under Online/) clones the online set. Aborts if the title already exists. + +Prereq: `gws` CLI authenticated (`gws-cli-access`). + +## Run + + python skills/aaif-create-event/scripts/create_event.py "" \ + --title "Eval Night · Builder Series" \ + --date "Wed · August 12, 2026 · 18:00 — late" \ + [--theme "..."] [--venue "..."] [--platform "..."] [--speakers "..."] \ + [--luma "lu.ma/aaif-..."] [--capacity "..."] [--organizer "..."] [--dry-run] + +Anything you omit is left as the example's text for you to fill later. Due-dates +keep the template's exact cadence (each task's offset from the event date is preserved). +``` + +`skills/aaif-update-event/SKILL.md`: + +```markdown +--- +name: aaif-update-event +description: Apply a change to an existing AAIF event (chapter or series) — edit detail fields like speakers/venue/capacity, or move the date and recompute all task due-dates, then flag which marketing/banner assets are now stale. Use when asked to update/change/edit an event's details or date. +argument-hint: ' [--set "LABEL=value"] [--date "..."]' +--- + +# AAIF Update Event + +Change-driven editor for one event in a chapter/series `Event Tracker.docx`. State the +change; the skill edits the right detail fields. If you move the date, every phase task +DUE date is recomputed (clock-time day-of tasks are left alone). It then reports which +downstream assets (banner, Luma cover, posts, slides) are now stale so you can re-run +those skills — it does not regenerate them. + +Prereq: `gws` CLI authenticated (`gws-cli-access`). + +## Run + + # add/replace a speaker + python skills/aaif-update-event/scripts/update_event.py "Berlin" "Agentic AI Night" \ + --set "SPEAKER(S)=Jane Doe (Agent Infra)" + + # move the date (recomputes all due-dates) + python skills/aaif-update-event/scripts/update_event.py "Berlin" "Agentic AI Night" \ + --date "Wed · July 8, 2026 · 17:30 — late" + +Detail labels: EVENT TITLE, DATE & TIME, LOCATION / CITY, VENUE, THEME / SERIES, +FORMAT(S), SPEAKER(S), LUMA URL, CAPACITY / RSVPS, ORGANIZER ON POINT. +``` + +- [ ] **Step 7: Commit** + +```bash +git add skills/aaif-create-event skills/aaif-update-event +git commit -m "feat: aaif-create-event and aaif-update-event skills" +``` + +--- + +## Task 12: Refactor existing scripts onto shared `gws.py` + +**Files:** +- Modify: `skills/aaif-create-chapter/scripts/create_chapter.py` +- Modify: `skills/aaif-create-online-series/scripts/create_series.py` + +**Interfaces:** +- Consumes: `lib/aaif_meetups/gws.py` (Task 8). + +- [ ] **Step 1: Add the sys.path shim + import, delete the duplicated helpers in `create_chapter.py`** + +Replace the in-file `_gws`, `gws_json`, `gws_download`, `gws_upload`, `list_children`, `create_folder`, `copy_file` definitions with: + +```python +import pathlib, sys +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups.gws import ( # noqa: E402 + gws_json, gws_download, gws_upload, list_children, DOCX, PPTX, XLSX, FOLDER, +) +``` + +(Move any constants the script still needs — `PPTX`, `XLSX`, `FOLDER`, `MIME_BY_EXT` — into `gws.py` if not already there, and import them. Keep `create_folder`/`copy_file` in `gws.py` too.) + +- [ ] **Step 2: Run the existing local rebrand self-test to prove no regression** + +Run: `python skills/aaif-create-chapter/scripts/create_chapter.py --city "Los Angeles" --rebrand-local /tmp/nonexistent 2>&1 | head -1` +Expected: the script imports cleanly (no `ImportError`); it will then report the dir doesn't exist — that's fine, it proves imports resolve. + +- [ ] **Step 3: Repeat for `create_series.py`** (same shim + import; delete its duplicated helpers). + +- [ ] **Step 4: Run the full test suite** + +Run: `PYTHONPATH=lib python -m unittest discover -s lib/aaif_meetups/tests -v` +Expected: all PASS. + +- [ ] **Step 5: Commit** + +```bash +git add skills/aaif-create-chapter/scripts/create_chapter.py skills/aaif-create-online-series/scripts/create_series.py +git commit -m "refactor: create_chapter/create_series import shared gws helpers" +``` + +--- + +## Task 13: End-to-end dry-run validation against real Drive (manual checkpoint) + +**Files:** none (verification only). + +- [ ] **Step 1: Status on a real chapter (read-only, safe)** + +Run: `python skills/aaif-event-status/scripts/event_status.py "San Francisco"` +Expected: prints the chapter, its event(s), and overdue/due-soon tasks without error. + +- [ ] **Step 2: create-event dry-run (no write)** + +Run: `python skills/aaif-create-event/scripts/create_event.py "San Francisco" --title "ZZZ Test Event" --date "Wed · September 9, 2026 · 18:00 — late" --dry-run` +Expected: prints the resolved tracker + parsed date; no upload. + +- [ ] **Step 3: Confirm tests + lint clean** + +Run: `PYTHONPATH=lib python -m unittest discover -s lib/aaif_meetups/tests -v && ruff check lib skills` +Expected: tests PASS; ruff reports no `F`/`E9` errors. + +- [ ] **Step 4: Final commit (if anything adjusted)** + +```bash +git add -A && git commit -m "chore: event-lifecycle e2e dry-run validation" || echo "nothing to commit" +``` + +--- + +## Self-Review notes + +- **Spec coverage:** `tracker-io` (Tasks 2–9), `create-event` (11), `update-event` (11), + `event-status` (10), `` arg + mode auto-detect (9, skills), date rule + (4, 6), dedup guard (11 Step 3), stale-asset flagging (11 Step 5), shared-lib + de-dup + of gws helpers (8, 12), fixture/offline tests + `--dry-run`/`apply_local` (throughout). +- **Out of scope (correctly absent):** banner/image generation and any soffice/`.pptx` + rendering (sub-project #3); chapter/series health (sub-project #4); two-plugin split + (sub-project #5). +- **Known follow-up:** phase *heading* anchor dates (e.g. "4 WEEKS OUT May 27 · …") are + not recomputed in v1 — only the authoritative DUE cells and the DATE & TIME value. + Acceptable; note for a later enhancement. diff --git a/docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md b/docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md new file mode 100644 index 0000000..1d3ae30 --- /dev/null +++ b/docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md @@ -0,0 +1,264 @@ +# AAIF Event Lifecycle + `tracker-io` Foundation — Design + +**Date:** 2026-06-30 +**Status:** Draft for review +**Scope of this spec:** Sub-projects #1 (the `tracker-io` foundation) and #2 (the +three event-lifecycle skills). The other sub-projects (pptx-fill-export, content-skill +enhancement, management/health skills, two-bundle repo split) are out of scope here and +will get their own specs. + +--- + +## 1. Context & goals + +The AAIF meetup skills repo migrated the per-folder `SKILLS.md.docx` prompts into 12 +versioned skills. The 8 content skills cover *the words & decks*; the 4 ops skills cover +intake and chapter/series creation. The gap: **nothing automates the per-event runbook** +— the `Event Tracker.docx`, which is the actual spine of running an event. + +This spec adds that spine: + +- a shared **`tracker-io`** layer that reads and writes an event's section inside a + chapter/series `Event Tracker.docx`, and +- three skills on top of it: **`aaif-create-event`**, **`aaif-update-event`**, + **`aaif-event-status`**. + +It also establishes two repo-wide conventions every later skill inherits: the standard +**` `** argument pair (the first argument is a chapter *or* an +online series), and **auto-detected online/in-person mode**. + +**Implementation note:** every edit in this spec is performed in **pure Python** on the +`.docx` XML — no LibreOffice/`soffice`, no rendering engine. (`soffice` was only ever +floated for a *later* sub-project, #3, to *render* a filled `.pptx` into a posted image; +that render-engine choice — pure-Python `Pillow` composition vs. `python-pptx` + `soffice` +— is deferred to the #3 spec and is out of scope here.) + +### Goals +- Create a fully-scaffolded event in the tracker (detail block + all phased task tables + with computed due-dates) from a few inputs. +- Apply targeted, change-driven edits to an existing event ("add speaker X", "move to + Jul 8") and recompute due-dates when the event date moves. +- Report task status across a chapter's events (overdue / due-soon / by owner). +- Keep the tracker as `.docx` (per decision #6) and stay **stdlib-only** (repo + philosophy — no third-party deps, no package to build). + +### Non-goals (this spec) +- Generating banners/decks/images, and any `.pptx` rendering (that's the file-aware + content skills, sub-project #3). The render-engine decision for #3 — pure-Python + `Pillow` composition vs. `python-pptx` + `soffice` — is explicitly deferred to that spec. +- Migrating to a Sheet (explicitly declined). +- The two-plugin bundle split (sub-project #5). + +--- + +## 2. Source of truth & data model + +Each chapter lives in `Chapters//`; each online series in `Online//`. Both +contain one `Event Tracker.docx`. Within a tracker: + +- **Preamble** (shared Quickstart + "How to use this tracker") — never touched. +- **Chapter/series identity blocks** (About, Vibes, Organizers, Luma) — never touched. +- **One section per event**, in document order. A section is: + 1. a **heading** paragraph, e.g. `June 24, 2026 · AGENTIC AI NIGHT — LAUNCH SERIES` + 2. a **detail table** with labelled rows: `EVENT TITLE`, `DATE & TIME`, + `LOCATION / CITY`, `VENUE`, `THEME / SERIES`, `FORMAT(S)`, `SPEAKER(S)`, `LUMA URL`, + `CAPACITY / RSVPS`, `ORGANIZER ON POINT` + 3. a sequence of **phase tables**, each a `TASK | OWNER | DUE | STATUS` grid, under a + phase heading: `4 WEEKS OUT`, `3 WEEKS OUT`, `2 WEEKS OUT`, `1 WEEK OUT`, + `DAY BEFORE`, `DAY OF`, `NEXT DAY`, `FOLLOW-UPS`. + +The **online tracker** (`Event Tracker (Online).docx`) has the same shape but a no-venue +task set (platform / join link / tech check / recording / chat-Q&A instead of +venue / A-V / food / door). + +**Canonical "example" section.** Every freshly-cloned tracker ships with one filled +example event (the June 24 "Agentic AI Night" block). `create-event` clones *that +section's structure*. Treat it as the template-of-record; do not delete it from the +masters. + +--- + +## 3. Foundation: `tracker-io` + +A stdlib-only module that manipulates `Event Tracker.docx` by editing `word/document.xml` +inside the docx zip (the same technique `create_chapter.py` already uses). No +`python-docx`. + +**Location:** `lib/aaif_meetups/` at repo root, holding: +- `gws.py` — the Drive helpers currently duplicated in `create_chapter.py` / + `create_series.py` (list/get/update/copy/create, retry wrapper). De-dups existing code. +- `office.py` — low-level docx helpers: load/save the zip, get/set `document.xml`, + iterate `` / `` / run text, deep-copy an element subtree. +- `tracker.py` — the event-aware API below. + +Each skill script adds the repo root to `sys.path` via +`Path(__file__).resolve().parents[3]` so imports work from source *and* from an installed +plugin. **Open item for sub-project #5:** the two-plugin split must decide how shared +`lib/` code is packaged into each plugin (vendor a copy, or make it pip-installable). Not +a blocker for #1/#2 (single plugin, `source: "./"`). + +### API + +``` +locate_tracker(chapter_or_series) -> {file_id, kind: "chapter"|"series", folder_id} + Resolve the folder under Chapters/ or Online/ by name (case-insensitive, exact), + find its "Event Tracker.docx". kind drives in-person vs online mode downstream. + +list_events(doc) -> [{title, heading, date, anchor_element_index}] + Parse all event sections in document order. + +read_event(doc, event) -> {details: {field: value}, phases: [{name, tasks: [...] }]} + event matches by title (case-insensitive substring), or the literal "next" + (soonest future DATE & TIME), or "latest". + +clone_example_section(doc) -> element subtree + Deep-copy the heading + detail table + all phase tables of the canonical example + section. Returns detached XML ready to fill and append. + +write_event(doc, fields, due_dates) -> doc + Fill a cloned section's detail rows + DUE cells + STATUS=Not started, append to the + body after the last existing event section (before any trailing content). + +set_field(doc, event, field, value) -> doc + Replace the value run of one detail row for one event. + +set_due_dates(doc, event, due_dates) -> doc + Rewrite DUE cells for one event's phase tables from a {task -> date} map. +``` + +Reads/writes are by **label / header text**, never positional index — mirrors the +`clean-data` / `triage-intake` "by header name" discipline so layout tweaks don't break it. + +### Date computation (shared rule) + +Offsets are derived from the **example section itself**, not hard-coded, so they track the +template if it changes: + +``` +for each task in the example: + offset_days[task] = example_task_DUE - example_EVENT_DATE # e.g. -28, -21, ... 0, +1 +new_due[task] = new_EVENT_DATE + offset_days[task] +``` + +Weekend handling and exact wording stay as-is (no rounding) for v1 — keep it predictable. +`DATE & TIME` parsing accepts the tracker's own format (`Tue · June 24, 2026 · 17:30 — +late`); a small tolerant parser extracts the date. + +--- + +## 4. Skill: `aaif-create-event` + +`argument-hint: ' '` plus event basics. + +**Inputs:** chapter or series name, event title, date (+ time), theme/series, venue *or* +platform, speakers, Luma URL, capacity, organizer-on-point. Anything omitted is left as a +`[bracketed]` placeholder for the organizer to fill. + +**Behavior:** +1. `locate_tracker(chapter)` → file + mode (chapter ⇒ in-person, series ⇒ online). +2. Download the tracker; abort if an event section with the same title/date already + exists (dedup guard). +3. `clone_example_section` → fill detail rows from inputs. +4. Compute due-dates from the event date via the shared rule; set all STATUS to + `Not started`. +5. Append the section, re-upload via `gws`. +6. Print a summary: created section, computed phase dates, and which fields were left as + placeholders. + +**Mode:** in-person clones the IRL example; online clones the online example (no +venue/A-V/food/door rows; platform/join/tech-check/recording/chat-Q&A instead). + +--- + +## 5. Skill: `aaif-update-event` + +`argument-hint: ' '` + +A **change-driven** editor, not a fixed pipeline. The organizer states the change; the +skill maps it to tracker edits. + +**Behavior:** +1. Locate tracker + `read_event` for the named event. +2. Interpret the requested change → one or more field edits: + - add/replace **speaker** → edit `SPEAKER(S)` + - change **date/time** → edit `DATE & TIME` **and** `set_due_dates` (recompute every + phase date from the new date) + - change **venue / platform / capacity / theme / Luma** → edit that detail row +3. Apply edits via `set_field` / `set_due_dates`, re-upload. +4. **Flag stale downstream assets** (do not regenerate): report which artifacts now + reference outdated info — e.g. "date changed ⇒ square banner, Luma cover, announcement + & carousel copy, day-of slides are now stale; re-run those skills." Regeneration is the + organizer's explicit next step (and lands when sub-project #3 makes those skills + file-aware). + +--- + +## 6. Skill: `aaif-event-status` + +`argument-hint: ' []'` + +**Behavior:** +1. Locate tracker; `list_events` (+ optional single-event filter). +2. For each task across phase tables, classify against **today** using the task's DUE and + STATUS: `overdue` (DUE < today, STATUS ≠ Done), `due-soon` (DUE within 7 days, not + Done), `done`, `upcoming`. +3. Output a digest: per event, the overdue and due-soon tasks grouped by OWNER, plus a + one-line health summary (e.g. "3 overdue, 5 due this week"). Read-only — never writes. + +This is the `triage-intake` pattern applied to event tasks. + +--- + +## 7. Shared conventions (repo-wide, established here) + +- **Arguments:** every event-scoped skill takes ` ` first — the + first argument resolves against `Chapters/` *or* `Online/`; details flow from the + tracker. Explicitly-passed values override what's read. +- **Mode auto-detection:** chapter (under `Chapters/`) ⇒ in-person; series (under + `Online/`) ⇒ online. No manual `--mode` needed; an override flag is allowed but not + required. +- **Drive access:** via the `gws` CLI (prereq: `gws-cli-access`), through `lib/aaif_meetups/gws.py`. +- **By-label, never positional:** all docx reads/writes match on label/header text. + +--- + +## 8. Risks & open items + +1. **docx section cloning in raw OOXML is the hard part.** Deep-copying a heading + + multiple tables and re-appending must preserve numbering/style refs and not corrupt the + doc. *Mitigation:* `office.py` clones whole ``/`` elements verbatim + (no reconstruction); round-trip every generated doc through a load/parse check before + upload; add fixture-based tests (section 9). If raw-XML proves too brittle in + implementation, revisit the stdlib-only constraint with the user before adding a dep. +2. **Tolerant date parsing** of the tracker's prose date format — covered by unit tests on + real strings. +3. **Shared-`lib/` packaging** under the future two-plugin split — flagged for #5; not a + blocker now. +4. **Existing chapters' example sections** may have drifted from the master. `create-event` + clones whatever the local tracker's example section is; if a tracker lacks one, fall + back to the master template's example section. + +--- + +## 9. Testing + +Stdlib `unittest`, fixture-driven, no Drive calls in tests: +- Check in a small fixture `Event Tracker.docx` (IRL + online) under + `lib/aaif_meetups/tests/fixtures/`. +- `tracker-io`: round-trip read → write → read; field edits; due-date math (golden values + for a known event date); date-parser cases; "next"/"latest" selection. +- Each skill exposes a pure core (compute + docx-transform) separate from the Drive I/O, + so the core is unit-tested offline (same split as `create_chapter.py`'s + `--rebrand-local`). A `--dry-run` plans without writing; a `--local ` runs the + transform on a local docx for testing. + +--- + +## 10. Build order (within this spec) + +1. `lib/aaif_meetups/`: `gws.py` (extract from existing scripts), `office.py`, `tracker.py` + tests. +2. `aaif-event-status` (read-only — exercises `tracker-io` reads with zero write risk). +3. `aaif-create-event` (clone/fill/date-stamp/append). +4. `aaif-update-event` (field edits + date recompute + stale-asset flagging). +5. Refactor `create_chapter.py` / `create_series.py` to import `lib/aaif_meetups/gws.py` + (remove the duplicated helpers) — opportunistic cleanup, since we're touching that code. diff --git a/skills/aaif-create-chapter/SKILL.md b/skills/aaif-create-chapter/SKILL.md index 860fc64..a292d8e 100644 --- a/skills/aaif-create-chapter/SKILL.md +++ b/skills/aaif-create-chapter/SKILL.md @@ -9,8 +9,9 @@ argument-hint: ' [--slug ]' Spin up a new AAIF city "chapter" by cloning the **TemplateCity** folder in the **Chapters** Google Drive and rebranding every Office file from San Francisco to the new city. Each chapter folder is the standard template: `Event Tracker.docx`, -`Attendee CRM.xlsx`, `SKILLS.md.docx`, and the `Event Name/` + `Banners (...)/` -subfolders of `.pptx` design assets. +`Attendee CRM.xlsx`, and the `Event Name/` + `Banners (...)/` subfolders of `.pptx` +design assets. (The old `SKILLS.md.docx` of paste-into-Claude prompts is retired — +those prompts now live as the `aaif-*` content skills in this repo.) Prereq: the `gws` CLI must be installed and authenticated (see the user's `gws-cli-access` memory). All Drive calls go through it. @@ -20,8 +21,8 @@ Prereq: the `gws` CLI must be installed and authenticated (see the user's The rebrand swaps two tokens and leaves everything else alone. Event-specific content — dates ("JUNE 24"), speakers ("Maya Chen"), venue, agenda, the SoMa / "SOUTH OF MARKET" neighbourhood placeholder — is **template content** that -organizers fill per-event later using the prompts inside `SKILLS.md.docx`. Do not -touch it. +organizers fill per-event later using the `aaif-*` content skills in this repo. Do +not touch it. | Token in template | Becomes | Notes | |---|---|---| diff --git a/skills/aaif-create-chapter/scripts/create_chapter.py b/skills/aaif-create-chapter/scripts/create_chapter.py index dfd8661..0c59842 100755 --- a/skills/aaif-create-chapter/scripts/create_chapter.py +++ b/skills/aaif-create-chapter/scripts/create_chapter.py @@ -3,7 +3,8 @@ rebranding every Office file from "San Francisco" to the new city. Two replacement tokens are swapped (event content like dates/speakers is left -untouched - organizers fill that per-event using the SKILLS.md prompts): +untouched - organizers fill that per-event using the aaif-* content skills in +this repo, e.g. aaif-speaker-bio / aaif-announcement-post / aaif-dayof-slides): 1. City name "San Francisco" / "SAN FRANCISCO" -> new city (case matched) plus the "SF" abbreviation (AAIF SF, SF CHAPTER, ...) -> new diff --git a/skills/aaif-create-online-series/SKILL.md b/skills/aaif-create-online-series/SKILL.md index 07824c9..b02d65e 100644 --- a/skills/aaif-create-online-series/SKILL.md +++ b/skills/aaif-create-online-series/SKILL.md @@ -10,8 +10,8 @@ Spin up a new AAIF **online event series** (e.g. a Reading Group, a Paper Club) cloning the **TemplateSeries** folder in the top-level **Online** Google Drive folder and rebranding every Office file from San Francisco to the new series. This is the online sibling of [aaif-create-chapter]: same folder shape — `Event -Tracker.docx`, `Attendee CRM.xlsx`, `SKILLS.md.docx`, and the `Event Name/` + -`Banners (...)/` subfolders of `.pptx` design assets — but the **Event Tracker is +Tracker.docx`, `Attendee CRM.xlsx`, and the `Event Name/` + `Banners (...)/` +subfolders of `.pptx` design assets — but the **Event Tracker is the no-venue "online" runbook** (platform / join link / tech check / recording / chat-Q&A moderation instead of venue / A-V / food / door). @@ -26,8 +26,8 @@ Prereq: the `gws` CLI must be installed and authenticated (see the user's The rebrand swaps two tokens and leaves everything else alone. Event-specific content — the example-event block (dates, speakers, example title), the agenda — -is **template content** organizers fill per-event using the prompts in -`SKILLS.md.docx`. Do not touch it. The TemplateSeries master is already +is **template content** organizers fill per-event using the `aaif-*` content +skills in this repo. Do not touch it. The TemplateSeries master is already series-shaped (no "Chapter" wording in identity; the About blurb is a `[bracketed]` placeholder the organizer fills in). diff --git a/skills/aaif-create-online-series/scripts/create_series.py b/skills/aaif-create-online-series/scripts/create_series.py index 5c13c9b..9167efc 100755 --- a/skills/aaif-create-online-series/scripts/create_series.py +++ b/skills/aaif-create-online-series/scripts/create_series.py @@ -4,12 +4,13 @@ Online series (e.g. a Reading Group, a Paper Club) live under the top-level **Online/** folder, NOT under Chapters/. They are the online-event sibling of a -city chapter: same folder shape (Event Tracker, Attendee CRM, SKILLS, Event Name/ +city chapter: same folder shape (Event Tracker, Attendee CRM, Event Name/ design assets, Banners/), but the Event Tracker is the no-venue "online" runbook (platform / join link / recording / chat-Q&A instead of venue / A-V / door). Two replacement tokens are swapped (event content like dates/speakers/the example -block is left untouched - organizers fill that per-event using the SKILLS prompts): +block is left untouched - organizers fill that per-event using the aaif-* content +skills in this repo, e.g. aaif-speaker-bio / aaif-luma-description): 1. Series name "San Francisco" / "SAN FRANCISCO" -> new series (case matched) plus the "SF" abbreviation (AAIF SF, ...) -> new series, upper in From 1fa0db9478621e528cf6ac0e3022442d3f2c82d0 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:18:23 +0530 Subject: [PATCH 02/18] feat(tracker-io): package skeleton + real tracker fixtures Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/__init__.py | 0 lib/aaif_meetups/tests/__init__.py | 0 .../tests/fixtures/event_tracker_irl.docx | Bin 0 -> 394790 bytes .../tests/fixtures/event_tracker_online.docx | Bin 0 -> 394540 bytes 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 lib/aaif_meetups/__init__.py create mode 100644 lib/aaif_meetups/tests/__init__.py create mode 100644 lib/aaif_meetups/tests/fixtures/event_tracker_irl.docx create mode 100644 lib/aaif_meetups/tests/fixtures/event_tracker_online.docx diff --git a/lib/aaif_meetups/__init__.py b/lib/aaif_meetups/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lib/aaif_meetups/tests/__init__.py b/lib/aaif_meetups/tests/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lib/aaif_meetups/tests/fixtures/event_tracker_irl.docx b/lib/aaif_meetups/tests/fixtures/event_tracker_irl.docx new file mode 100644 index 0000000000000000000000000000000000000000..a887fa1f3f5ee5c76c78426403972268be5a54ac GIT binary patch literal 394790 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�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

*YgACh8CDH%^sPwl+xt+Td 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

?L~DUkEQRWJavr+e60sHfC++Tm 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%0ANpVa+?2u^pxFaX{sn6X$b;CR2gw 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 z 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 JJLsYa_fOON$kEcXxL!@X}A-|GxiaR+7oU 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

d(l%k3vUr5!bO5e5=~;U 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�cZS)1Yo&JlyNME8m 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

-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

ovjckfu+ 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

OVPD;F3#9Z>zixSFAH@;Qqz`s-9G zT9$>M5Y2-$#RY%KXLnepnO_xDBt$co#ZR>0{BY8Byr$O-bxRdHZtx+jHBm=rC%t@& zFs|Ob(--ZhB^4e>iC7A~_w;xB%0@5hA2$!fa9OtUzaL=mlzKlQV;ET)ED3$go(r@- zLjlhWk-fc?l)Vi_UqQq@R(_j?o>_nBy=+vt=RM=l2vGPGEbFXMHQ9*ya*L`U4F-+| z@xReZIyJM600#g9U;%(nplJQO`GX<|0Jzx$O&Bap4NXjeOn(LLKhdzxF~n#Ppg5BQ z04V>4g0}u(%^=QypzU02jZA@-cIJPFuNT(ikOzI!0tNs;{saFC`7gYask1W(?eur> z^DQAr9uWMmhf@FS-U~$dkM7Mt$){pyWMlew_==jUhz}q~F+rW-|Iz&ci18nIeW0n0 z6T=@Y^ndO8PbG%U;$cod000!M0KmsTsK^oi?TNF8jp^U|fv{`pzW@Ryf^5P11I!On z#n{Ek+1^$|R))dS+0<46^t`gu-v*;Xcm%Tr#E=G3S-KGKnG?qX7M`UTx|D}hCy|Ife zXkhre$jHYw|L_I*@dyt9;Qe6=kH8<1`M)H8YY3giBuO=hfg0o#i0prwKiG{B0Ps&& z{ubyg3vGV90y-hIXJlF{LxIw=wxUTaq0l>sB@a00fY86n_x04*o&(r*nVNN&Z&{ zF&jLVMcIfSe=sgkL;iQh|K{v}UWNb7=ntj{8e0G6nyerV V3Cc|X00Z>G27P*c0}YCR{|8dJ$u|H1 literal 0 HcmV?d00001 From 2389e35e01c53a4bb7ff9d4751cbde1f3876aeb6 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:19:07 +0530 Subject: [PATCH 03/18] feat(office): docx document.xml read/save round-trip Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/office.py | 24 ++++++++++++++++++++++++ lib/aaif_meetups/tests/test_office.py | 25 +++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 lib/aaif_meetups/office.py create mode 100644 lib/aaif_meetups/tests/test_office.py diff --git a/lib/aaif_meetups/office.py b/lib/aaif_meetups/office.py new file mode 100644 index 0000000..522568a --- /dev/null +++ b/lib/aaif_meetups/office.py @@ -0,0 +1,24 @@ +"""Stdlib-only OOXML helpers: read/write word/document.xml inside a .docx zip, +and navigate/edit its tables, rows, cells, and paragraph run text.""" +import zipfile +from xml.etree import ElementTree as ET + +NS = "http://schemas.openxmlformats.org/wordprocessingml/2006/main" +W = "{%s}" % NS +ET.register_namespace("w", NS) + + +def read_document(path): + with zipfile.ZipFile(path) as z: + return ET.fromstring(z.read("word/document.xml")) + + +def save_document(src_path, root, out_path): + body = ET.tostring(root, encoding="UTF-8", xml_declaration=True) + with zipfile.ZipFile(src_path) as zin: + names = zin.namelist() + data = {n: zin.read(n) for n in names} + data["word/document.xml"] = body + with zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED) as zo: + for n in names: + zo.writestr(n, data[n]) diff --git a/lib/aaif_meetups/tests/test_office.py b/lib/aaif_meetups/tests/test_office.py new file mode 100644 index 0000000..837b2fb --- /dev/null +++ b/lib/aaif_meetups/tests/test_office.py @@ -0,0 +1,25 @@ +import os +import tempfile +import unittest + +from aaif_meetups import office + +FIX = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_irl.docx") + + +class TestDocIO(unittest.TestCase): + def test_read_returns_body(self): + root = office.read_document(FIX) + self.assertIsNotNone(root.find(f"{office.W}body")) + + def test_roundtrip_preserves_content_and_zip(self): + root = office.read_document(FIX) + with tempfile.TemporaryDirectory() as d: + out = os.path.join(d, "out.docx") + office.save_document(FIX, root, out) + root2 = office.read_document(out) + # same number of tables survives the round-trip + n1 = len(list(root.iter(f"{office.W}tbl"))) + n2 = len(list(root2.iter(f"{office.W}tbl"))) + self.assertEqual(n1, n2) + self.assertGreater(n2, 5) From 03f97bf09dfe492c8f23ffbddfc75474234aa40d Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:19:53 +0530 Subject: [PATCH 04/18] feat(office): table/cell/paragraph primitives Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/office.py | 35 +++++++++++++++++++++++++++ lib/aaif_meetups/tests/test_office.py | 20 +++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/lib/aaif_meetups/office.py b/lib/aaif_meetups/office.py index 522568a..c6af1da 100644 --- a/lib/aaif_meetups/office.py +++ b/lib/aaif_meetups/office.py @@ -22,3 +22,38 @@ def save_document(src_path, root, out_path): with zipfile.ZipFile(out_path, "w", zipfile.ZIP_DEFLATED) as zo: for n in names: zo.writestr(n, data[n]) + + +def tables(root): + return list(root.iter(W + "tbl")) + + +def rows(tbl): + return tbl.findall(W + "tr") + + +def cells(tr): + return tr.findall(W + "tc") + + +def _texts(el): + return list(el.iter(W + "t")) + + +def cell_text(tc): + return "".join(t.text or "" for t in _texts(tc)).strip() + + +def para_text(p): + return "".join(t.text or "" for t in _texts(p)).strip() + + +def set_cell_text(tc, text): + ts = _texts(tc) + if not ts: + raise ValueError("cell has no run text node to set") + ts[0].text = text + # xml:space=preserve guards against trimming + ts[0].set("{http://www.w3.org/XML/1998/namespace}space", "preserve") + for extra in ts[1:]: + extra.text = "" diff --git a/lib/aaif_meetups/tests/test_office.py b/lib/aaif_meetups/tests/test_office.py index 837b2fb..8aef3e1 100644 --- a/lib/aaif_meetups/tests/test_office.py +++ b/lib/aaif_meetups/tests/test_office.py @@ -23,3 +23,23 @@ def test_roundtrip_preserves_content_and_zip(self): n2 = len(list(root2.iter(f"{office.W}tbl"))) self.assertEqual(n1, n2) self.assertGreater(n2, 5) + + +class TestTablePrimitives(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_detail_table_first_row(self): + # the detail table's first row is ["EVENT TITLE", ] + detail = [t for t in office.tables(self.root) + if office.cell_text(office.cells(office.rows(t)[0])[0]) == "EVENT TITLE"] + self.assertEqual(len(detail), 1) + first = office.rows(detail[0])[0] + self.assertEqual(office.cell_text(office.cells(first)[0]), "EVENT TITLE") + + def test_set_cell_text_roundtrips(self): + detail = next(t for t in office.tables(self.root) + if office.cell_text(office.cells(office.rows(t)[0])[0]) == "EVENT TITLE") + value_cell = office.cells(office.rows(detail)[0])[1] + office.set_cell_text(value_cell, "New Night · Test Series") + self.assertEqual(office.cell_text(value_cell), "New Night · Test Series") From 7ae87b7971ec113a9164de8390d0ccb3d1019713 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:21:00 +0530 Subject: [PATCH 05/18] feat(tracker): date parsing and restamp math Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/tests/test_tracker.py | 27 ++++++++++++++ lib/aaif_meetups/tracker.py | 51 ++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 lib/aaif_meetups/tests/test_tracker.py create mode 100644 lib/aaif_meetups/tracker.py diff --git a/lib/aaif_meetups/tests/test_tracker.py b/lib/aaif_meetups/tests/test_tracker.py new file mode 100644 index 0000000..6855125 --- /dev/null +++ b/lib/aaif_meetups/tests/test_tracker.py @@ -0,0 +1,27 @@ +import datetime as dt +import unittest + +from aaif_meetups import tracker + + +class TestDates(unittest.TestCase): + def test_parse_event_date(self): + self.assertEqual( + tracker.parse_event_date("Tue · June 24, 2026 · 17:30 — late"), + dt.date(2026, 6, 24)) + + def test_parse_due_infers_year(self): + anchor = dt.date(2026, 6, 24) + self.assertEqual(tracker.parse_due("May 27", anchor), dt.date(2026, 5, 27)) + self.assertEqual(tracker.parse_due("Jun 3", anchor), dt.date(2026, 6, 3)) + + def test_parse_due_skips_clock_and_blank(self): + anchor = dt.date(2026, 6, 24) + self.assertIsNone(tracker.parse_due("16:00", anchor)) + self.assertIsNone(tracker.parse_due("", anchor)) + + def test_restamp_shifts_dates_keeps_clock(self): + old, new = dt.date(2026, 6, 24), dt.date(2026, 7, 8) # +14 days + self.assertEqual(tracker.restamp("May 27", old, new), "Jun 10") + self.assertEqual(tracker.restamp("16:00", old, new), "16:00") + self.assertEqual(tracker.restamp("", old, new), "") diff --git a/lib/aaif_meetups/tracker.py b/lib/aaif_meetups/tracker.py new file mode 100644 index 0000000..5edaec8 --- /dev/null +++ b/lib/aaif_meetups/tracker.py @@ -0,0 +1,51 @@ +"""Event-aware reads/writes over an Event Tracker.docx, plus the shared +date-stamping math. Stdlib-only; pure-Python OOXML editing via office.py.""" +import datetime as dt +import re + +_MONTHS = {m: i for i, m in enumerate( + ["", "jan", "feb", "mar", "apr", "may", "jun", + "jul", "aug", "sep", "oct", "nov", "dec"])} +_DATE_RE = re.compile( + r"\b(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)[a-z]*\.?\s+(\d{1,2})", re.I) +_YEAR_RE = re.compile(r"\b(20\d{2})\b") +_CLOCK_RE = re.compile(r"^\s*\d{1,2}:\d{2}\s*$") + + +def parse_event_date(text): + m = _DATE_RE.search(text) + if not m: + raise ValueError("no month/day in event date: %r" % text) + month, day = _MONTHS[m.group(1)[:3].lower()], int(m.group(2)) + ym = _YEAR_RE.search(text) + year = int(ym.group(1)) if ym else dt.date.today().year + return dt.date(year, month, day) + + +def parse_due(token, anchor): + if token is None or _CLOCK_RE.match(token or "") or not (token or "").strip(): + return None + m = _DATE_RE.search(token) + if not m: + return None + month, day = _MONTHS[m.group(1)[:3].lower()], int(m.group(2)) + best = None + for year in (anchor.year - 1, anchor.year, anchor.year + 1): + try: + cand = dt.date(year, month, day) + except ValueError: + continue + if best is None or abs((cand - anchor).days) < abs((best - anchor).days): + best = cand + return best + + +def format_due(d): + return "%s %d" % (d.strftime("%b"), d.day) + + +def restamp(due_token, old_event, new_event): + parsed = parse_due(due_token, old_event) + if parsed is None: + return due_token + return format_due(parsed + (new_event - old_event)) From 42b87a3e1c06030d5f8da2858b2c4b5e6cbab6f3 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:22:04 +0530 Subject: [PATCH 06/18] =?UTF-8?q?feat(tracker):=20event=20model=20?= =?UTF-8?q?=E2=80=94=20list=5Fevents,=20read=5Fevent?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/tests/test_tracker.py | 27 ++++++++- lib/aaif_meetups/tracker.py | 81 ++++++++++++++++++++++++++ 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/lib/aaif_meetups/tests/test_tracker.py b/lib/aaif_meetups/tests/test_tracker.py index 6855125..5aff56e 100644 --- a/lib/aaif_meetups/tests/test_tracker.py +++ b/lib/aaif_meetups/tests/test_tracker.py @@ -1,7 +1,10 @@ import datetime as dt +import os import unittest -from aaif_meetups import tracker +from aaif_meetups import office, tracker + +FIX = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_irl.docx") class TestDates(unittest.TestCase): @@ -25,3 +28,25 @@ def test_restamp_shifts_dates_keeps_clock(self): self.assertEqual(tracker.restamp("May 27", old, new), "Jun 10") self.assertEqual(tracker.restamp("16:00", old, new), "16:00") self.assertEqual(tracker.restamp("", old, new), "") + + +class TestEventModel(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_list_events_finds_the_example(self): + evs = tracker.list_events(self.root) + self.assertEqual(len(evs), 1) + self.assertIn("Agentic AI Night", evs[0]["title"]) + # 4wk,3wk,2wk,1wk,day-before,day-of,next-day,follow-ups + self.assertEqual(len(evs[0]["phase_tables"]), 8) + + def test_read_event_details_and_tasks(self): + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["details"]["DATE & TIME"], "Tue · June 24, 2026 · 17:30 — late") + self.assertEqual(ev["date"], dt.date(2026, 6, 24)) + self.assertEqual(ev["phases"][0]["tasks"][0]["status"], "Done") + + def test_read_event_next(self): + ev = tracker.read_event(self.root, "next") + self.assertIn("Agentic AI Night", ev["title"]) diff --git a/lib/aaif_meetups/tracker.py b/lib/aaif_meetups/tracker.py index 5edaec8..d51316e 100644 --- a/lib/aaif_meetups/tracker.py +++ b/lib/aaif_meetups/tracker.py @@ -3,6 +3,8 @@ import datetime as dt import re +from aaif_meetups import office + _MONTHS = {m: i for i, m in enumerate( ["", "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"])} @@ -49,3 +51,82 @@ def restamp(due_token, old_event, new_event): if parsed is None: return due_token return format_due(parsed + (new_event - old_event)) + + +PHASE_HEADER = ["TASK", "OWNER", "DUE", "STATUS"] + + +def _row_cells_text(tbl, row_index): + rs = office.rows(tbl) + if not rs: + return [] + return [office.cell_text(c) for c in office.cells(rs[row_index])] + + +def is_detail_table(tbl): + cells0 = _row_cells_text(tbl, 0) + return bool(cells0) and cells0[0] == "EVENT TITLE" + + +def is_phase_table(tbl): + return _row_cells_text(tbl, 0) == PHASE_HEADER + + +def list_events(root): + events, current = [], None + for tbl in office.tables(root): + if is_detail_table(tbl): + details = {} + for r in office.rows(tbl): + cs = office.cells(r) + if len(cs) >= 2: + details[office.cell_text(cs[0])] = office.cell_text(cs[1]) + title = details.get("EVENT TITLE", "") + try: + date = parse_event_date(details.get("DATE & TIME", "")) + except ValueError: + date = None + current = {"title": title, "detail_table": tbl, + "phase_tables": [], "date": date} + events.append(current) + elif is_phase_table(tbl) and current is not None: + current["phase_tables"].append(tbl) + return events + + +def _select(events, event): + key = (event or "").strip().lower() + dated = [e for e in events if e["date"]] + if key == "next": + if not dated: + return None + future = sorted([e for e in dated if e["date"] >= dt.date.today()], + key=lambda e: e["date"]) + return (future or sorted(dated, key=lambda e: e["date"]))[0] + if key == "latest": + return max(dated, key=lambda e: e["date"]) if dated else None + for e in events: + if key in e["title"].lower(): + return e + return None + + +def read_event(root, event): + events = list_events(root) + e = _select(events, event) + if e is None: + raise LookupError("no event matching %r" % event) + details = {} + for r in office.rows(e["detail_table"]): + cs = office.cells(r) + if len(cs) >= 2: + details[office.cell_text(cs[0])] = office.cell_text(cs[1]) + phases = [] + for pt in e["phase_tables"]: + tasks = [] + for r in office.rows(pt)[1:]: + cs = [office.cell_text(c) for c in office.cells(r)] + cs += [""] * (4 - len(cs)) + tasks.append({"task": cs[0], "owner": cs[1], "due": cs[2], "status": cs[3]}) + phases.append({"tasks": tasks}) + return {"title": e["title"], "details": details, "phases": phases, "date": e["date"]} From a73399204d4b3c68a394b34cffddb1843ba7c2f1 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:22:50 +0530 Subject: [PATCH 07/18] feat(tracker): set_field and set_due_dates writes Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/tests/test_tracker.py | 20 +++++++++ lib/aaif_meetups/tracker.py | 61 ++++++++++++++++++++++++++ 2 files changed, 81 insertions(+) diff --git a/lib/aaif_meetups/tests/test_tracker.py b/lib/aaif_meetups/tests/test_tracker.py index 5aff56e..d1fc95b 100644 --- a/lib/aaif_meetups/tests/test_tracker.py +++ b/lib/aaif_meetups/tests/test_tracker.py @@ -50,3 +50,23 @@ def test_read_event_details_and_tasks(self): def test_read_event_next(self): ev = tracker.read_event(self.root, "next") self.assertIn("Agentic AI Night", ev["title"]) + + +class TestWrites(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_set_field(self): + tracker.set_field(self.root, "Agentic AI Night", "SPEAKER(S)", "Jane Doe (Infra)") + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["details"]["SPEAKER(S)"], "Jane Doe (Infra)") + + def test_set_due_dates_shifts_two_weeks(self): + # original 4-weeks-out task due "May 27"; +14 days -> "Jun 10" + changed = tracker.set_due_dates(self.root, "Agentic AI Night", dt.date(2026, 7, 8)) + self.assertGreater(changed, 0) + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["phases"][0]["tasks"][0]["due"], "Jun 10") + # day-of clock times unchanged + dayof = ev["phases"][5]["tasks"][0]["due"] + self.assertRegex(dayof, r"^\d{1,2}:\d{2}$") diff --git a/lib/aaif_meetups/tracker.py b/lib/aaif_meetups/tracker.py index d51316e..3a35233 100644 --- a/lib/aaif_meetups/tracker.py +++ b/lib/aaif_meetups/tracker.py @@ -130,3 +130,64 @@ def read_event(root, event): tasks.append({"task": cs[0], "owner": cs[1], "due": cs[2], "status": cs[3]}) phases.append({"tasks": tasks}) return {"title": e["title"], "details": details, "phases": phases, "date": e["date"]} + + +def _selected_or_raise(root, event): + e = _select(list_events(root), event) + if e is None: + raise LookupError("no event matching %r" % event) + return e + + +def _set_detail(detail_tbl, label, value): + """Set the value cell of the row whose label cell == label. Returns bool found.""" + for r in office.rows(detail_tbl): + cs = office.cells(r) + if len(cs) >= 2 and office.cell_text(cs[0]) == label: + office.set_cell_text(cs[1], value) + return True + return False + + +def _restamp_tables(detail_tbl, phase_tbls, old_date, new_date): + """Shift every phase DUE cell by (new-old); sync the DATE & TIME value's date. + Returns the count of DUE cells changed.""" + changed = 0 + for pt in phase_tbls: + for r in office.rows(pt)[1:]: + cs = office.cells(r) + if len(cs) >= 3: + cur = office.cell_text(cs[2]) + nv = restamp(cur, old_date, new_date) + if nv != cur: + office.set_cell_text(cs[2], nv) + changed += 1 + for r in office.rows(detail_tbl): + cs = office.cells(r) + if len(cs) >= 2 and office.cell_text(cs[0]) == "DATE & TIME": + txt = office.cell_text(cs[1]) + txt = _DATE_RE.sub(new_date.strftime("%B ") + str(new_date.day), txt, count=1) + txt = _YEAR_RE.sub(str(new_date.year), txt, count=1) + office.set_cell_text(cs[1], txt) + return changed + + +def _reset_status(phase_tbls): + for pt in phase_tbls: + for r in office.rows(pt)[1:]: + cs = office.cells(r) + if len(cs) >= 4: + office.set_cell_text(cs[3], "Not started") + + +def set_field(root, event, label, value): + e = _selected_or_raise(root, event) + if not _set_detail(e["detail_table"], label, value): + raise LookupError("no detail row labelled %r" % label) + + +def set_due_dates(root, event, new_event_date): + e = _selected_or_raise(root, event) + if e["date"] is None: + raise ValueError("event has no parseable current date; cannot restamp") + return _restamp_tables(e["detail_table"], e["phase_tables"], e["date"], new_event_date) From d719558def2422ea369b73cc224fadf9b559ff6c Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:23:46 +0530 Subject: [PATCH 08/18] feat(tracker): add_event clones and appends a dated section Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/tests/test_tracker.py | 29 +++++++++++++++++++++ lib/aaif_meetups/tracker.py | 36 ++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) diff --git a/lib/aaif_meetups/tests/test_tracker.py b/lib/aaif_meetups/tests/test_tracker.py index d1fc95b..ebdcee1 100644 --- a/lib/aaif_meetups/tests/test_tracker.py +++ b/lib/aaif_meetups/tests/test_tracker.py @@ -70,3 +70,32 @@ def test_set_due_dates_shifts_two_weeks(self): # day-of clock times unchanged dayof = ev["phases"][5]["tasks"][0]["due"] self.assertRegex(dayof, r"^\d{1,2}:\d{2}$") + + +class TestAddEvent(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_add_event_appends_section(self): + before = len(tracker.list_events(self.root)) + tracker.add_event(self.root, { + "EVENT TITLE": "Eval Night · Builder Series", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late", + "SPEAKER(S)": "TBD", + }, dt.date(2026, 8, 12)) + evs = tracker.list_events(self.root) + self.assertEqual(len(evs), before + 1) + new = tracker.read_event(self.root, "Eval Night") + self.assertEqual(new["details"]["EVENT TITLE"], "Eval Night · Builder Series") + # statuses reset + self.assertTrue(all(t["status"] == "Not started" + for ph in new["phases"] for t in ph["tasks"])) + # dates restamped to the new event date (4-wks-out is ~28 days before Aug 12) + self.assertNotEqual(new["phases"][0]["tasks"][0]["due"], "May 27") + # the appended section survives a save -> reload (no corruption) + import tempfile + with tempfile.TemporaryDirectory() as dd: + out = os.path.join(dd, "out.docx") + office.save_document(FIX, self.root, out) + reloaded = office.read_document(out) + self.assertEqual(len(tracker.list_events(reloaded)), before + 1) diff --git a/lib/aaif_meetups/tracker.py b/lib/aaif_meetups/tracker.py index 3a35233..6aaa3a1 100644 --- a/lib/aaif_meetups/tracker.py +++ b/lib/aaif_meetups/tracker.py @@ -1,5 +1,6 @@ """Event-aware reads/writes over an Event Tracker.docx, plus the shared date-stamping math. Stdlib-only; pure-Python OOXML editing via office.py.""" +import copy import datetime as dt import re @@ -191,3 +192,38 @@ def set_due_dates(root, event, new_event_date): if e["date"] is None: raise ValueError("event has no parseable current date; cannot restamp") return _restamp_tables(e["detail_table"], e["phase_tables"], e["date"], new_event_date) + + +def _body(root): + return root.find(office.W + "body") + + +def add_event(root, fields, event_date): + events = list_events(root) + if not events: + raise LookupError("tracker has no example event section to clone") + example = events[0] + old_date = example["date"] + body = _body(root) + kids = list(body) + # span: the paragraph immediately before the detail table .. the last phase table + detail_idx = kids.index(example["detail_table"]) + start = detail_idx - 1 if detail_idx > 0 and kids[detail_idx - 1].tag == office.W + "p" else detail_idx + last = example["phase_tables"][-1] if example["phase_tables"] else example["detail_table"] + end = kids.index(last) + block = [copy.deepcopy(kids[i]) for i in range(start, end + 1)] + # edit the CLONED elements directly (no re-selection against the original) + new_detail = next(el for el in block + if el.tag == office.W + "tbl" and is_detail_table(el)) + new_phases = [el for el in block + if el.tag == office.W + "tbl" and is_phase_table(el)] + for label, value in fields.items(): + _set_detail(new_detail, label, value) + if old_date is not None: + _restamp_tables(new_detail, new_phases, old_date, event_date) + _reset_status(new_phases) + # insert before trailing sectPr if present, else at end + sectpr = body.find(office.W + "sectPr") + insert_at = kids.index(sectpr) if sectpr is not None else len(kids) + for offset, el in enumerate(block): + body.insert(insert_at + offset, el) From d5c3d805321a8b3234f443ab056b8b1fdfca132c Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:24:32 +0530 Subject: [PATCH 09/18] feat(gws): shared Drive helpers extracted from create_chapter Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/gws.py | 90 ++++++++++++++++++++++++++++++ lib/aaif_meetups/tests/test_gws.py | 11 ++++ 2 files changed, 101 insertions(+) create mode 100644 lib/aaif_meetups/gws.py create mode 100644 lib/aaif_meetups/tests/test_gws.py diff --git a/lib/aaif_meetups/gws.py b/lib/aaif_meetups/gws.py new file mode 100644 index 0000000..ac371e5 --- /dev/null +++ b/lib/aaif_meetups/gws.py @@ -0,0 +1,90 @@ +"""Shared Google Drive helpers, invoked through the `gws` CLI. Lifted from +create_chapter.py so every skill (chapter/series creation, event lifecycle) +uses one implementation. Stdlib-only.""" +import json +import os +import subprocess +import time + +PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation" +DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" +XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" +FOLDER = "application/vnd.google-apps.folder" +MIME_BY_EXT = {".pptx": PPTX, ".docx": DOCX, ".xlsx": XLSX} + +_TRANSIENT = ("timed out", "internalError", "HTTP request failed", + "Connection", "temporarily", "rateLimit", "userRateLimit", + "backendError", "503", "500", "502") + + +def _gws(cmd, cwd=None, retries=5): + """Run a gws command, retrying transient network/server errors.""" + for i in range(retries): + r = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True) + if r.returncode == 0: + return r.stdout + msg = (r.stderr or "") + (r.stdout or "") + if i < retries - 1 and any(k in msg for k in _TRANSIENT): + time.sleep(2 * (i + 1)) + continue + raise RuntimeError("gws failed (%s): %s" % (r.returncode, msg.strip()[:400])) + + +def gws_json(*args, params=None, body=None): + cmd = ["gws", *args] + if params is not None: + cmd += ["--params", json.dumps(params)] + if body is not None: + cmd += ["--json", json.dumps(body)] + out = _gws(cmd) + s = "\n".join(l for l in out.splitlines() if "keyring backend" not in l).strip() + if not s: + # Empty-but-successful stdout would silently become {} -> an empty file + # list -> a subtree that fails to clone while the run still says "Done". + raise RuntimeError("gws produced no JSON output for: %s" % " ".join(args)) + try: + return json.loads(s) + except json.JSONDecodeError: + raise RuntimeError("gws returned non-JSON output for %s: %s" % (" ".join(args), s[:200])) + + +def gws_download(file_id, out): + # gws rejects --output paths outside its cwd, so run it in the file's dir. + d = os.path.dirname(out) or "." + _gws(["gws", "drive", "files", "get", "--params", + json.dumps({"fileId": file_id, "supportsAllDrives": True, "alt": "media"}), + "--output", os.path.basename(out)], cwd=d) + + +def gws_upload(file_id, path, mime): + d = os.path.dirname(path) or "." + _gws(["gws", "drive", "files", "update", "--params", + json.dumps({"fileId": file_id, "supportsAllDrives": True}), + "--upload", os.path.basename(path), "--upload-content-type", mime], cwd=d) + + +def list_children(folder_id): + res = gws_json("drive", "files", "list", params={ + "q": "'%s' in parents and trashed=false" % folder_id, + "fields": "files(id,name,mimeType)", "pageSize": 1000, + "supportsAllDrives": True, "includeItemsFromAllDrives": True}) + return res.get("files", []) + + +def find_child(folder_id, name): + for c in list_children(folder_id): + if c.get("name") == name: + return c + return None + + +def create_folder(name, parent): + return gws_json("drive", "files", "create", + params={"supportsAllDrives": True}, + body={"name": name, "mimeType": FOLDER, "parents": [parent]})["id"] + + +def copy_file(file_id, name, parent): + return gws_json("drive", "files", "copy", + params={"fileId": file_id, "supportsAllDrives": True}, + body={"name": name, "parents": [parent]})["id"] diff --git a/lib/aaif_meetups/tests/test_gws.py b/lib/aaif_meetups/tests/test_gws.py new file mode 100644 index 0000000..4c9ce72 --- /dev/null +++ b/lib/aaif_meetups/tests/test_gws.py @@ -0,0 +1,11 @@ +import unittest + +from aaif_meetups import gws + + +class TestGwsModule(unittest.TestCase): + def test_exposes_callables_and_mime(self): + for name in ("gws_json", "gws_download", "gws_upload", + "list_children", "find_child"): + self.assertTrue(callable(getattr(gws, name)), name) + self.assertIn("wordprocessingml", gws.DOCX) From 8d8c265a940f90b8ccf4dbe928aa833f1c6ff918 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:31:22 +0530 Subject: [PATCH 10/18] feat(gws_cli): shared wrapper around the googleworkspace gws CLI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Renamed from gws.py to gws_cli.py to make clear it wraps the real gws binary (https://github.com/googleworkspace/cli) via subprocess — it does not reimplement Drive. Same calls create_chapter.py already uses, lifted into one shared module. Co-Authored-By: Claude Opus 4.8 --- .../plans/2026-06-30-aaif-event-lifecycle.md | 56 +++++++++---------- lib/aaif_meetups/{gws.py => gws_cli.py} | 9 ++- lib/aaif_meetups/tests/test_gws.py | 11 ---- lib/aaif_meetups/tests/test_gws_cli.py | 11 ++++ 4 files changed, 45 insertions(+), 42 deletions(-) rename lib/aaif_meetups/{gws.py => gws_cli.py} (89%) delete mode 100644 lib/aaif_meetups/tests/test_gws.py create mode 100644 lib/aaif_meetups/tests/test_gws_cli.py diff --git a/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md b/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md index be01aad..cde5b90 100644 --- a/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md +++ b/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md @@ -4,7 +4,7 @@ **Goal:** Add a `tracker-io` foundation plus three skills (`aaif-event-status`, `aaif-create-event`, `aaif-update-event`) that read and write an event's section inside a chapter/series `Event Tracker.docx`. -**Architecture:** A stdlib-only Python package `lib/aaif_meetups/` provides Drive access (`gws.py`), low-level docx-zip/table editing (`office.py`), and an event-aware API + date math (`tracker.py`). Each skill is a thin CLI script that adds `lib/` to `sys.path`, calls the package, and talks to Drive via the `gws` CLI. All docx edits happen in pure Python on `word/document.xml` — no LibreOffice/soffice, no third-party libraries. +**Architecture:** A stdlib-only Python package `lib/aaif_meetups/` provides Drive access (`gws_cli.py`), low-level docx-zip/table editing (`office.py`), and an event-aware API + date math (`tracker.py`). Each skill is a thin CLI script that adds `lib/` to `sys.path`, calls the package, and talks to Drive via the `gws` CLI. All docx edits happen in pure Python on `word/document.xml` — no LibreOffice/soffice, no third-party libraries. **Tech Stack:** Python 3.9 (stdlib only: `zipfile`, `xml.etree.ElementTree`, `copy`, `datetime`, `re`, `argparse`, `subprocess`, `json`), `unittest`, the `gws` CLI for Google Drive. @@ -13,7 +13,7 @@ - **Stdlib-only.** No third-party Python deps (no `python-docx`, no `Pillow`). The repo has "no package to build." - **Pure Python edits.** No `soffice`/LibreOffice anywhere in this plan. - **Python 3.9**, `ruff` line-length 100, lint select `["F", "E9"]` (bug-focused). -- **Drive via `gws` CLI** only (prereq: `gws-cli-access`), through `lib/aaif_meetups/gws.py`. +- **Drive via `gws` CLI** only (prereq: `gws-cli-access`), through `lib/aaif_meetups/gws_cli.py`. - **By-label, never positional.** Detail rows match on label text (`EVENT TITLE`, …); phase tables match on the header `["TASK","OWNER","DUE","STATUS"]`. Never hard-code a table/row index. - **First argument is ``** — resolved against `Chapters/` (⇒ in-person) or `Online/` (⇒ online); mode is auto-detected from which parent matched. - **Drive folder IDs:** Chapters `1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx`, Online `1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i`. @@ -25,7 +25,7 @@ ## File Structure - Create `lib/aaif_meetups/__init__.py` — package marker (empty). -- Create `lib/aaif_meetups/gws.py` — Drive helpers (run gws, list/get/update/copy/create, download/upload). +- Create `lib/aaif_meetups/gws_cli.py` — Drive helpers (run gws, list/get/update/copy/create, download/upload). - Create `lib/aaif_meetups/office.py` — docx zip read/write + table/cell/paragraph primitives. - Create `lib/aaif_meetups/tracker.py` — event-aware API (`locate_tracker`, `list_events`, `read_event`, `clone_example_section`, `write_event`, `set_field`, `set_due_dates`) + date math. - Create `lib/aaif_meetups/tests/__init__.py` — empty. @@ -778,11 +778,11 @@ git commit -m "feat(tracker): add_event clones and appends a dated section" --- -## Task 8: `gws.py` — Drive helpers (extracted, shared) +## Task 8: `gws_cli.py` — Drive helpers (extracted, shared) **Files:** -- Create: `lib/aaif_meetups/gws.py` -- Test: `lib/aaif_meetups/tests/test_gws.py` +- Create: `lib/aaif_meetups/gws_cli.py` +- Test: `lib/aaif_meetups/tests/test_gws_cli.py` **Interfaces:** - Produces (ported verbatim from `create_chapter.py`'s helpers, made importable): @@ -796,7 +796,7 @@ git commit -m "feat(tracker): add_event clones and appends a dated section" - [ ] **Step 1: Write the failing test** (pure-function test only — no Drive calls) ```python -# lib/aaif_meetups/tests/test_gws.py +# lib/aaif_meetups/tests/test_gws_cli.py import unittest from aaif_meetups import gws @@ -805,7 +805,7 @@ class TestGwsModule(unittest.TestCase): for name in ("gws_json", "gws_download", "gws_upload", "list_children", "find_child"): self.assertTrue(callable(getattr(gws, name)), name) - self.assertIn("wordprocessingml", gws.DOCX) + self.assertIn("wordprocessingml", gws_cli.DOCX) ``` - [ ] **Step 2: Run test to verify it fails** @@ -815,7 +815,7 @@ Expected: FAIL with `ModuleNotFoundError: No module named 'aaif_meetups.gws'`. - [ ] **Step 3: Write minimal implementation** -Port the helpers from `skills/aaif-create-chapter/scripts/create_chapter.py` (the `_gws`, `gws_json`, `gws_download`, `gws_upload`, `list_children` functions and the `DOCX`/folder constants), into `lib/aaif_meetups/gws.py`. Add `find_child`: +Port the helpers from `skills/aaif-create-chapter/scripts/create_chapter.py` (the `_gws`, `gws_json`, `gws_download`, `gws_upload`, `list_children` functions and the `DOCX`/folder constants), into `lib/aaif_meetups/gws_cli.py`. Add `find_child`: ```python def find_child(folder_id, name): @@ -835,7 +835,7 @@ Expected: PASS. - [ ] **Step 5: Commit** ```bash -git add lib/aaif_meetups/gws.py lib/aaif_meetups/tests/test_gws.py +git add lib/aaif_meetups/gws_cli.py lib/aaif_meetups/tests/test_gws_cli.py git commit -m "feat(gws): shared Drive helpers extracted from create_chapter" ``` @@ -848,7 +848,7 @@ git commit -m "feat(gws): shared Drive helpers extracted from create_chapter" - Test: `lib/aaif_meetups/tests/test_tracker.py` (add a test that monkeypatches `gws`) **Interfaces:** -- Consumes: `gws.list_children`, `gws.find_child`. +- Consumes: `gws_cli.list_children`, `gws_cli.find_child`. - Produces: - `CHAPTERS_PARENT`, `ONLINE_PARENT` constants (the folder IDs from Global Constraints). - `locate_tracker(name) -> {"file_id", "kind", "folder_id", "folder_name"}` — find a folder named `name` (case-insensitive exact) under Chapters/ first, else Online/; `kind` is `"chapter"` or `"series"`. Inside it, find `Event Tracker.docx`. Raises `LookupError` if the folder or the tracker is missing. @@ -857,7 +857,7 @@ git commit -m "feat(gws): shared Drive helpers extracted from create_chapter" ```python # add to test_tracker.py -from aaif_meetups import gws as gws_mod +from aaif_meetups import gws_cli as gws_mod class TestLocate(unittest.TestCase): def test_locate_prefers_chapters_then_online(self): @@ -897,7 +897,7 @@ FOLDER_MIME = "application/vnd.google-apps.folder" def _find_folder(parent, name): key = name.strip().lower() - for c in gws.list_children(parent): + for c in gws_cli.list_children(parent): if c.get("mimeType") == FOLDER_MIME and c.get("name", "").lower() == key: return c return None @@ -907,7 +907,7 @@ def locate_tracker(name): for parent, kind in ((CHAPTERS_PARENT, "chapter"), (ONLINE_PARENT, "series")): folder = _find_folder(parent, name) if folder: - doc = gws.find_child(folder["id"], "Event Tracker.docx") + doc = gws_cli.find_child(folder["id"], "Event Tracker.docx") if not doc: raise LookupError("%r has no Event Tracker.docx" % name) return {"file_id": doc["id"], "kind": kind, @@ -936,7 +936,7 @@ git commit -m "feat(tracker): locate_tracker resolves chapter or series" - Create: `skills/aaif-event-status/scripts/event_status.py` **Interfaces:** -- Consumes: `tracker.locate_tracker`, `gws.gws_download`, `office.read_document`, `tracker.list_events` / `read_event`, `tracker.parse_due`. +- Consumes: `tracker.locate_tracker`, `gws_cli.gws_download`, `office.read_document`, `tracker.list_events` / `read_event`, `tracker.parse_due`. - Produces: a CLI `python event_status.py [event]` that prints overdue / due-soon tasks by owner. Read-only. - [ ] **Step 1: Write the failing test (core logic, offline)** @@ -978,7 +978,7 @@ due-soon tasks grouped by owner. Reads via the gws CLI; pure-Python parsing.""" import argparse, datetime as dt, os, pathlib, sys, tempfile sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups import gws, office, tracker # noqa: E402 +from aaif_meetups import gws_cli, office, tracker # noqa: E402 DUE_SOON_DAYS = 7 @@ -1018,7 +1018,7 @@ def main(): loc = tracker.locate_tracker(a.group) with tempfile.TemporaryDirectory() as d: path = os.path.join(d, "tracker.docx") - gws.gws_download(loc["file_id"], path) + gws_cli.gws_download(loc["file_id"], path) root = office.read_document(path) events = tracker.list_events(root) if a.event: @@ -1086,7 +1086,7 @@ git commit -m "feat: aaif-event-status skill (read-only task digest)" - Test: `skills/aaif-create-event/scripts/test_create_event.py` **Interfaces:** -- Consumes: `tracker.locate_tracker/add_event/set_field/set_due_dates/read_event/parse_event_date`, `gws.gws_download/gws_upload/DOCX`, `office.read_document/save_document`. +- Consumes: `tracker.locate_tracker/add_event/set_field/set_due_dates/read_event/parse_event_date`, `gws_cli.gws_download/gws_upload/DOCX`, `office.read_document/save_document`. - Produces: - `create_event.py --title T --date "..." [--theme --venue --platform --speakers --luma --capacity --organizer] [--dry-run]` — downloads the tracker, `add_event`, re-uploads. Aborts if an event with the same title already exists. - `update_event.py [--set "LABEL=value" ...] [--date "..."]` — applies field edits; if `--date`, recomputes due dates; prints which downstream assets are now stale. @@ -1134,7 +1134,7 @@ Stdlib-only, pure-Python docx edit; Drive I/O via the gws CLI.""" import argparse, datetime as dt, os, pathlib, sys, tempfile sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups import gws, office, tracker # noqa: E402 +from aaif_meetups import gws_cli, office, tracker # noqa: E402 # CLI flag -> detail label FIELD_MAP = {"title": "EVENT TITLE", "date": "DATE & TIME", "theme": "THEME / SERIES", @@ -1179,13 +1179,13 @@ def main(): return with tempfile.TemporaryDirectory() as d: path = os.path.join(d, "tracker.docx") - gws.gws_download(loc["file_id"], path) + gws_cli.gws_download(loc["file_id"], path) root = office.read_document(path) if any(a.title.lower() in e["title"].lower() for e in tracker.list_events(root)): sys.exit("ABORT: an event titled %r already exists in this tracker." % a.title) tracker.add_event(root, fields, event_date) office.save_document(path, root, path) - gws.gws_upload(loc["file_id"], path, gws.DOCX) + gws_cli.gws_upload(loc["file_id"], path, gws_cli.DOCX) print("Done. New event section added and due-dates stamped.") @@ -1208,7 +1208,7 @@ Then report which downstream assets are now stale. Pure-Python docx edit.""" import argparse, os, pathlib, sys, tempfile sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups import gws, office, tracker # noqa: E402 +from aaif_meetups import gws_cli, office, tracker # noqa: E402 STALE_ON_DATE = ["square banner", "Luma cover", "announcement post", "carousel", "day-of slides", "attendee reminder"] @@ -1227,7 +1227,7 @@ def main(): loc = tracker.locate_tracker(a.group) with tempfile.TemporaryDirectory() as d: path = os.path.join(d, "tracker.docx") - gws.gws_download(loc["file_id"], path) + gws_cli.gws_download(loc["file_id"], path) root = office.read_document(path) stale = set() for pair in a.set: @@ -1240,7 +1240,7 @@ def main(): tracker.set_due_dates(root, a.event, tracker.parse_event_date(a.date)) stale.update(STALE_ON_DATE) office.save_document(path, root, path) - gws.gws_upload(loc["file_id"], path, gws.DOCX) + gws_cli.gws_upload(loc["file_id"], path, gws_cli.DOCX) print("Updated %r in %s." % (a.event, loc["folder_name"])) if stale: print("Now stale — re-run these skills: " + ", ".join(sorted(stale))) @@ -1326,14 +1326,14 @@ git commit -m "feat: aaif-create-event and aaif-update-event skills" --- -## Task 12: Refactor existing scripts onto shared `gws.py` +## Task 12: Refactor existing scripts onto shared `gws_cli.py` **Files:** - Modify: `skills/aaif-create-chapter/scripts/create_chapter.py` - Modify: `skills/aaif-create-online-series/scripts/create_series.py` **Interfaces:** -- Consumes: `lib/aaif_meetups/gws.py` (Task 8). +- Consumes: `lib/aaif_meetups/gws_cli.py` (Task 8). - [ ] **Step 1: Add the sys.path shim + import, delete the duplicated helpers in `create_chapter.py`** @@ -1342,12 +1342,12 @@ Replace the in-file `_gws`, `gws_json`, `gws_download`, `gws_upload`, `list_chil ```python import pathlib, sys sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups.gws import ( # noqa: E402 +from aaif_meetups.gws_cli import ( # noqa: E402 gws_json, gws_download, gws_upload, list_children, DOCX, PPTX, XLSX, FOLDER, ) ``` -(Move any constants the script still needs — `PPTX`, `XLSX`, `FOLDER`, `MIME_BY_EXT` — into `gws.py` if not already there, and import them. Keep `create_folder`/`copy_file` in `gws.py` too.) +(Move any constants the script still needs — `PPTX`, `XLSX`, `FOLDER`, `MIME_BY_EXT` — into `gws_cli.py` if not already there, and import them. Keep `create_folder`/`copy_file` in `gws_cli.py` too.) - [ ] **Step 2: Run the existing local rebrand self-test to prove no regression** diff --git a/lib/aaif_meetups/gws.py b/lib/aaif_meetups/gws_cli.py similarity index 89% rename from lib/aaif_meetups/gws.py rename to lib/aaif_meetups/gws_cli.py index ac371e5..beb412a 100644 --- a/lib/aaif_meetups/gws.py +++ b/lib/aaif_meetups/gws_cli.py @@ -1,6 +1,9 @@ -"""Shared Google Drive helpers, invoked through the `gws` CLI. Lifted from -create_chapter.py so every skill (chapter/series creation, event lifecycle) -uses one implementation. Stdlib-only.""" +"""Thin wrapper around the googleworkspace `gws` CLI (https://github.com/googleworkspace/cli). + +This does NOT reimplement Drive — every function shells out to the real `gws` +binary via subprocess, exactly as create_chapter.py already does. Lifted here so +every skill (chapter/series creation, event lifecycle) shares one wrapper instead +of duplicating the subprocess calls. Stdlib-only.""" import json import os import subprocess diff --git a/lib/aaif_meetups/tests/test_gws.py b/lib/aaif_meetups/tests/test_gws.py deleted file mode 100644 index 4c9ce72..0000000 --- a/lib/aaif_meetups/tests/test_gws.py +++ /dev/null @@ -1,11 +0,0 @@ -import unittest - -from aaif_meetups import gws - - -class TestGwsModule(unittest.TestCase): - def test_exposes_callables_and_mime(self): - for name in ("gws_json", "gws_download", "gws_upload", - "list_children", "find_child"): - self.assertTrue(callable(getattr(gws, name)), name) - self.assertIn("wordprocessingml", gws.DOCX) diff --git a/lib/aaif_meetups/tests/test_gws_cli.py b/lib/aaif_meetups/tests/test_gws_cli.py new file mode 100644 index 0000000..5602360 --- /dev/null +++ b/lib/aaif_meetups/tests/test_gws_cli.py @@ -0,0 +1,11 @@ +import unittest + +from aaif_meetups import gws_cli + + +class TestGwsCliModule(unittest.TestCase): + def test_exposes_callables_and_mime(self): + for name in ("gws_json", "gws_download", "gws_upload", + "list_children", "find_child"): + self.assertTrue(callable(getattr(gws_cli, name)), name) + self.assertIn("wordprocessingml", gws_cli.DOCX) From be31827a3fa9c202ff20780ed06c35ab0615aa91 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:32:18 +0530 Subject: [PATCH 11/18] feat(tracker): locate_tracker resolves chapter or series Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/tests/test_tracker.py | 21 ++++++++++++++++++++- lib/aaif_meetups/tracker.py | 26 +++++++++++++++++++++++++- 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/lib/aaif_meetups/tests/test_tracker.py b/lib/aaif_meetups/tests/test_tracker.py index ebdcee1..b904783 100644 --- a/lib/aaif_meetups/tests/test_tracker.py +++ b/lib/aaif_meetups/tests/test_tracker.py @@ -2,7 +2,7 @@ import os import unittest -from aaif_meetups import office, tracker +from aaif_meetups import gws_cli, office, tracker FIX = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_irl.docx") @@ -99,3 +99,22 @@ def test_add_event_appends_section(self): office.save_document(FIX, self.root, out) reloaded = office.read_document(out) self.assertEqual(len(tracker.list_events(reloaded)), before + 1) + + +class TestLocate(unittest.TestCase): + def test_locate_prefers_chapters_then_online(self): + def fake_children(folder_id): + if folder_id == tracker.CHAPTERS_PARENT: + return [{"id": "fA", "name": "Berlin", + "mimeType": "application/vnd.google-apps.folder"}] + if folder_id == "fA": + return [{"id": "tDoc", "name": "Event Tracker.docx"}] + return [] + orig = gws_cli.list_children + gws_cli.list_children = fake_children + try: + got = tracker.locate_tracker("berlin") + finally: + gws_cli.list_children = orig + self.assertEqual(got["file_id"], "tDoc") + self.assertEqual(got["kind"], "chapter") diff --git a/lib/aaif_meetups/tracker.py b/lib/aaif_meetups/tracker.py index 6aaa3a1..5eb2300 100644 --- a/lib/aaif_meetups/tracker.py +++ b/lib/aaif_meetups/tracker.py @@ -4,7 +4,11 @@ import datetime as dt import re -from aaif_meetups import office +from aaif_meetups import gws_cli, office + +CHAPTERS_PARENT = "1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx" +ONLINE_PARENT = "1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i" +FOLDER_MIME = "application/vnd.google-apps.folder" _MONTHS = {m: i for i, m in enumerate( ["", "jan", "feb", "mar", "apr", "may", "jun", @@ -227,3 +231,23 @@ def add_event(root, fields, event_date): insert_at = kids.index(sectpr) if sectpr is not None else len(kids) for offset, el in enumerate(block): body.insert(insert_at + offset, el) + + +def _find_folder(parent, name): + key = name.strip().lower() + for c in gws_cli.list_children(parent): + if c.get("mimeType") == FOLDER_MIME and c.get("name", "").lower() == key: + return c + return None + + +def locate_tracker(name): + for parent, kind in ((CHAPTERS_PARENT, "chapter"), (ONLINE_PARENT, "series")): + folder = _find_folder(parent, name) + if folder: + doc = gws_cli.find_child(folder["id"], "Event Tracker.docx") + if not doc: + raise LookupError("%r has no Event Tracker.docx" % name) + return {"file_id": doc["id"], "kind": kind, + "folder_id": folder["id"], "folder_name": folder["name"]} + raise LookupError("no chapter or series named %r" % name) From ffd5abb23ba0a471aafac5c2bd5c6907d0184bb4 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:33:45 +0530 Subject: [PATCH 12/18] feat: aaif-event-status skill (read-only task digest) Co-Authored-By: Claude Opus 4.8 --- skills/aaif-event-status/SKILL.md | 26 ++++++++ .../aaif-event-status/scripts/event_status.py | 64 +++++++++++++++++++ .../scripts/test_event_status.py | 28 ++++++++ 3 files changed, 118 insertions(+) create mode 100644 skills/aaif-event-status/SKILL.md create mode 100755 skills/aaif-event-status/scripts/event_status.py create mode 100644 skills/aaif-event-status/scripts/test_event_status.py diff --git a/skills/aaif-event-status/SKILL.md b/skills/aaif-event-status/SKILL.md new file mode 100644 index 0000000..0fe315a --- /dev/null +++ b/skills/aaif-event-status/SKILL.md @@ -0,0 +1,26 @@ +--- +name: aaif-event-status +description: Report task status for an AAIF chapter or online series — which event tasks are overdue or due soon, grouped by owner, read from the Event Tracker.docx. Use when asked for the status / health / what's-due of a chapter or series' events. +argument-hint: ' [event]' +--- + +# AAIF Event Status + +Read-only digest of a chapter or online series' `Event Tracker.docx`: for each +event, the **overdue** and **due-soon** (within 7 days) tasks, grouped by owner. +Never writes. + +Prereq: the `gws` CLI must be installed and authenticated (`gws-cli-access`). +The first argument resolves under **Chapters/** or **Online/** automatically. + +## Run + + python skills/aaif-event-status/scripts/event_status.py "" ["event"] + +Examples: + + python skills/aaif-event-status/scripts/event_status.py "Berlin" + python skills/aaif-event-status/scripts/event_status.py "Reading Group" "Paper Club" + +Status is computed against today's date from each task's DUE cell; clock-time +day-of tasks and `Done` tasks are excluded. diff --git a/skills/aaif-event-status/scripts/event_status.py b/skills/aaif-event-status/scripts/event_status.py new file mode 100755 index 0000000..268a706 --- /dev/null +++ b/skills/aaif-event-status/scripts/event_status.py @@ -0,0 +1,64 @@ +#!/usr/bin/env python3 +"""Read-only status digest for a chapter/series Event Tracker: overdue and +due-soon tasks grouped by owner. Reads via the gws CLI; pure-Python parsing.""" +import argparse +import datetime as dt +import os +import pathlib +import sys +import tempfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups import gws_cli, office, tracker # noqa: E402 + +DUE_SOON_DAYS = 7 + + +def classify(tasks, anchor, today): + overdue, due_soon = [], [] + for t in tasks: + d = tracker.parse_due(t.get("due", ""), anchor) + if d is None or t.get("status") == "Done": + continue + if d < today: + overdue.append(t) + elif (d - today).days <= DUE_SOON_DAYS: + due_soon.append(t) + return {"overdue": overdue, "due_soon": due_soon} + + +def _digest(ev, today): + flat = [t for ph in ev["phases"] for t in ph["tasks"]] + res = classify(flat, ev["date"] or today, today) + lines = ["", "== %s ==" % ev["title"], + "%d overdue, %d due within %d days" + % (len(res["overdue"]), len(res["due_soon"]), DUE_SOON_DAYS)] + for label in ("overdue", "due_soon"): + if res[label]: + lines.append(" %s:" % label.replace("_", "-")) + for t in sorted(res[label], key=lambda x: x.get("owner", "")): + lines.append(" [%s] %s (due %s)" % (t["owner"], t["task"], t["due"])) + return "\n".join(lines) + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("group", help="chapter or series name") + ap.add_argument("event", nargs="?", help="optional event title; default all") + a = ap.parse_args() + loc = tracker.locate_tracker(a.group) + with tempfile.TemporaryDirectory() as d: + path = os.path.join(d, "tracker.docx") + gws_cli.gws_download(loc["file_id"], path) + root = office.read_document(path) + events = tracker.list_events(root) + if a.event: + events = [e for e in events if a.event.lower() in e["title"].lower()] + today = dt.date.today() + print("%s (%s) — %d event(s)" % (loc["folder_name"], loc["kind"], len(events))) + for e in events: + print(_digest(tracker.read_event(root, e["title"]), today)) + + +if __name__ == "__main__": + main() diff --git a/skills/aaif-event-status/scripts/test_event_status.py b/skills/aaif-event-status/scripts/test_event_status.py new file mode 100644 index 0000000..065b423 --- /dev/null +++ b/skills/aaif-event-status/scripts/test_event_status.py @@ -0,0 +1,28 @@ +import datetime as dt +import os +import sys +import unittest + +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), + "..", "..", "..", "lib"))) +sys.path.insert(0, os.path.dirname(__file__)) +import event_status # noqa: E402 + + +class TestClassify(unittest.TestCase): + def test_overdue_and_due_soon(self): + today = dt.date(2026, 6, 10) + tasks = [ + {"task": "A", "owner": "Org", "due": "Jun 3", "status": "Not started"}, # overdue + {"task": "B", "owner": "Org", "due": "Jun 12", "status": "Not started"}, # due soon + {"task": "C", "owner": "Org", "due": "Jun 3", "status": "Done"}, # done -> ignore + {"task": "D", "owner": "Co", "due": "16:00", "status": "Not started"}, # clock -> ignore + ] + anchor = dt.date(2026, 6, 24) + res = event_status.classify(tasks, anchor, today) + self.assertEqual([t["task"] for t in res["overdue"]], ["A"]) + self.assertEqual([t["task"] for t in res["due_soon"]], ["B"]) + + +if __name__ == "__main__": + unittest.main() From 2d764af4500a3f7131c3383199877e575ed553fc Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:36:17 +0530 Subject: [PATCH 13/18] feat: aaif-create-event and aaif-update-event skills Co-Authored-By: Claude Opus 4.8 --- skills/aaif-create-event/SKILL.md | 25 +++++++ .../aaif-create-event/scripts/create_event.py | 68 +++++++++++++++++++ .../scripts/test_create_event.py | 34 ++++++++++ skills/aaif-update-event/SKILL.md | 28 ++++++++ .../scripts/test_update_event.py | 40 +++++++++++ .../aaif-update-event/scripts/update_event.py | 61 +++++++++++++++++ 6 files changed, 256 insertions(+) create mode 100644 skills/aaif-create-event/SKILL.md create mode 100755 skills/aaif-create-event/scripts/create_event.py create mode 100644 skills/aaif-create-event/scripts/test_create_event.py create mode 100644 skills/aaif-update-event/SKILL.md create mode 100644 skills/aaif-update-event/scripts/test_update_event.py create mode 100755 skills/aaif-update-event/scripts/update_event.py diff --git a/skills/aaif-create-event/SKILL.md b/skills/aaif-create-event/SKILL.md new file mode 100644 index 0000000..712c381 --- /dev/null +++ b/skills/aaif-create-event/SKILL.md @@ -0,0 +1,25 @@ +--- +name: aaif-create-event +description: Create a new event in an AAIF chapter or online series by cloning the example section in its Event Tracker.docx and stamping all phase task due-dates from the event date. Use when asked to add/schedule/set up a new event for a chapter or series. +argument-hint: ' --title "..." --date "..."' +--- + +# AAIF Create Event + +Clone the example event section in a chapter/series `Event Tracker.docx`, fill the +detail block, and compute every phase task's DUE date backward from the event date. +Mode is auto-detected: a chapter (under Chapters/) clones the in-person task set; an +online series (under Online/) clones the online set. Aborts if the title already exists. + +Prereq: the `gws` CLI must be installed and authenticated (`gws-cli-access`). + +## Run + + python skills/aaif-create-event/scripts/create_event.py "" \ + --title "Eval Night · Builder Series" \ + --date "Wed · August 12, 2026 · 18:00 — late" \ + [--theme "..."] [--venue "..."] [--platform "..."] [--speakers "..."] \ + [--luma "lu.ma/aaif-..."] [--capacity "..."] [--organizer "..."] [--dry-run] + +Anything you omit is left as the example's text for you to fill later. Due-dates +keep the template's exact cadence (each task's offset from the event date is preserved). diff --git a/skills/aaif-create-event/scripts/create_event.py b/skills/aaif-create-event/scripts/create_event.py new file mode 100755 index 0000000..1c6d00c --- /dev/null +++ b/skills/aaif-create-event/scripts/create_event.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python3 +"""Create a new event section in a chapter/series Event Tracker.docx: clone the +example section, fill details, and stamp all phase due-dates from the event date. +Stdlib-only, pure-Python docx edit; Drive I/O via the gws CLI.""" +import argparse +import os +import pathlib +import sys +import tempfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups import gws_cli, office, tracker # noqa: E402 + +# CLI flag -> detail label +FIELD_MAP = {"title": "EVENT TITLE", "date": "DATE & TIME", "theme": "THEME / SERIES", + "venue": "VENUE", "platform": "VENUE", "speakers": "SPEAKER(S)", + "luma": "LUMA URL", "capacity": "CAPACITY / RSVPS", + "organizer": "ORGANIZER ON POINT", "location": "LOCATION / CITY"} + + +def apply_local(path, fields, event_date): + root = office.read_document(path) + tracker.add_event(root, fields, event_date) + office.save_document(path, root, path) + + +def _fields_from_args(a): + fields = {} + for flag, label in FIELD_MAP.items(): + val = getattr(a, flag, None) + if val: + fields[label] = val + return fields + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("group", help="chapter or series name") + ap.add_argument("--title", required=True) + ap.add_argument("--date", required=True, help='e.g. "Wed · August 12, 2026 · 18:00 — late"') + for f in ("theme", "venue", "platform", "speakers", "luma", "capacity", + "organizer", "location"): + ap.add_argument("--" + f) + ap.add_argument("--dry-run", action="store_true") + a = ap.parse_args() + + event_date = tracker.parse_event_date(a.date) + fields = _fields_from_args(a) + loc = tracker.locate_tracker(a.group) + print("Tracker: %s (%s) event: %s date: %s" + % (loc["folder_name"], loc["kind"], a.title, event_date)) + if a.dry_run: + print("[dry-run] would clone the example section and stamp dates; no write.") + return + with tempfile.TemporaryDirectory() as d: + path = os.path.join(d, "tracker.docx") + gws_cli.gws_download(loc["file_id"], path) + root = office.read_document(path) + if any(a.title.lower() in e["title"].lower() for e in tracker.list_events(root)): + sys.exit("ABORT: an event titled %r already exists in this tracker." % a.title) + tracker.add_event(root, fields, event_date) + office.save_document(path, root, path) + gws_cli.gws_upload(loc["file_id"], path, gws_cli.DOCX) + print("Done. New event section added and due-dates stamped.") + + +if __name__ == "__main__": + main() diff --git a/skills/aaif-create-event/scripts/test_create_event.py b/skills/aaif-create-event/scripts/test_create_event.py new file mode 100644 index 0000000..181f63b --- /dev/null +++ b/skills/aaif-create-event/scripts/test_create_event.py @@ -0,0 +1,34 @@ +import datetime as dt +import os +import shutil +import sys +import tempfile +import unittest + +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), + "..", "..", "..", "lib"))) +sys.path.insert(0, os.path.dirname(__file__)) +import create_event # noqa: E402 +from aaif_meetups import office, tracker # noqa: E402 + +FIX = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", + "lib", "aaif_meetups", "tests", "fixtures", + "event_tracker_irl.docx")) + + +class TestCreateCore(unittest.TestCase): + def test_apply_adds_event_to_local_docx(self): + with tempfile.TemporaryDirectory() as d: + local = os.path.join(d, "t.docx") + shutil.copy(FIX, local) + create_event.apply_local(local, { + "EVENT TITLE": "Eval Night", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late", + }, dt.date(2026, 8, 12)) + root = office.read_document(local) + titles = [e["title"] for e in tracker.list_events(root)] + self.assertIn("Eval Night", titles) + + +if __name__ == "__main__": + unittest.main() diff --git a/skills/aaif-update-event/SKILL.md b/skills/aaif-update-event/SKILL.md new file mode 100644 index 0000000..eee2d7b --- /dev/null +++ b/skills/aaif-update-event/SKILL.md @@ -0,0 +1,28 @@ +--- +name: aaif-update-event +description: Apply a change to an existing AAIF event (chapter or series) — edit detail fields like speakers/venue/capacity, or move the date and recompute all task due-dates, then flag which marketing/banner assets are now stale. Use when asked to update/change/edit an event's details or date. +argument-hint: ' [--set "LABEL=value"] [--date "..."]' +--- + +# AAIF Update Event + +Change-driven editor for one event in a chapter/series `Event Tracker.docx`. State the +change; the skill edits the right detail fields. If you move the date, every phase task +DUE date is recomputed (clock-time day-of tasks are left alone). It then reports which +downstream assets (banner, Luma cover, posts, slides) are now stale so you can re-run +those skills — it does not regenerate them. + +Prereq: the `gws` CLI must be installed and authenticated (`gws-cli-access`). + +## Run + + # add/replace a speaker + python skills/aaif-update-event/scripts/update_event.py "Berlin" "Agentic AI Night" \ + --set "SPEAKER(S)=Jane Doe (Agent Infra)" + + # move the date (recomputes all due-dates) + python skills/aaif-update-event/scripts/update_event.py "Berlin" "Agentic AI Night" \ + --date "Wed · July 8, 2026 · 17:30 — late" + +Detail labels: EVENT TITLE, DATE & TIME, LOCATION / CITY, VENUE, THEME / SERIES, +FORMAT(S), SPEAKER(S), LUMA URL, CAPACITY / RSVPS, ORGANIZER ON POINT. diff --git a/skills/aaif-update-event/scripts/test_update_event.py b/skills/aaif-update-event/scripts/test_update_event.py new file mode 100644 index 0000000..6765d1a --- /dev/null +++ b/skills/aaif-update-event/scripts/test_update_event.py @@ -0,0 +1,40 @@ +import datetime as dt +import os +import sys +import unittest + +sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), + "..", "..", "..", "lib"))) +sys.path.insert(0, os.path.dirname(__file__)) +import update_event # noqa: E402 +from aaif_meetups import office, tracker # noqa: E402 + +FIX = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "..", "..", + "lib", "aaif_meetups", "tests", "fixtures", + "event_tracker_irl.docx")) + + +class TestApplyChanges(unittest.TestCase): + def setUp(self): + self.root = office.read_document(FIX) + + def test_set_speaker_flags_stale(self): + stale = update_event.apply_changes( + self.root, "Agentic AI Night", ["SPEAKER(S)=Jane Doe (Infra)"], None) + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["details"]["SPEAKER(S)"], "Jane Doe (Infra)") + self.assertIn("speaker bio", stale) + + def test_date_move_restamps_using_original_date(self): + # original 4-weeks-out due "May 27"; move +14d to Jul 8 -> "Jun 10" + stale = update_event.apply_changes( + self.root, "Agentic AI Night", [], "Wed · July 8, 2026 · 17:30 — late") + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["phases"][0]["tasks"][0]["due"], "Jun 10") + self.assertEqual(ev["details"]["DATE & TIME"], "Wed · July 8, 2026 · 17:30 — late") + self.assertEqual(ev["date"], dt.date(2026, 7, 8)) + self.assertIn("square banner", stale) + + +if __name__ == "__main__": + unittest.main() diff --git a/skills/aaif-update-event/scripts/update_event.py b/skills/aaif-update-event/scripts/update_event.py new file mode 100755 index 0000000..76fabdd --- /dev/null +++ b/skills/aaif-update-event/scripts/update_event.py @@ -0,0 +1,61 @@ +#!/usr/bin/env python3 +"""Apply a targeted change to an existing event in a chapter/series tracker: +edit detail fields and, when the date moves, recompute every phase due-date. +Then report which downstream assets are now stale. Pure-Python docx edit.""" +import argparse +import os +import pathlib +import sys +import tempfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups import gws_cli, office, tracker # noqa: E402 + +STALE_ON_DATE = ["square banner", "Luma cover", "announcement post", + "carousel", "day-of slides", "attendee reminder"] +STALE_ON_SPEAKER = ["speaker bio", "announcement post", "carousel", "day-of slides"] + + +def apply_changes(root, event, set_pairs, date_str): + """Mutate root in place. set_pairs is a list of 'LABEL=VALUE' strings. + If date_str is given, recompute all due-dates from the *original* date first, + then write the authoritative new DATE & TIME string. Returns the stale-asset set.""" + stale = set() + for pair in set_pairs: + label, _, value = pair.partition("=") + tracker.set_field(root, event, label.strip(), value.strip()) + if "SPEAKER" in label.upper(): + stale.update(STALE_ON_SPEAKER) + if date_str: + # restamp DUE cells using the original date still in the doc, THEN overwrite + # DATE & TIME with the user's full string (so weekday/time are exactly as given). + tracker.set_due_dates(root, event, tracker.parse_event_date(date_str)) + tracker.set_field(root, event, "DATE & TIME", date_str) + stale.update(STALE_ON_DATE) + return stale + + +def main(): + ap = argparse.ArgumentParser() + ap.add_argument("group") + ap.add_argument("event") + ap.add_argument("--set", action="append", default=[], + metavar="LABEL=VALUE", help='e.g. --set "SPEAKER(S)=Jane Doe"') + ap.add_argument("--date", help="new DATE & TIME value; triggers due-date recompute") + a = ap.parse_args() + + loc = tracker.locate_tracker(a.group) + with tempfile.TemporaryDirectory() as d: + path = os.path.join(d, "tracker.docx") + gws_cli.gws_download(loc["file_id"], path) + root = office.read_document(path) + stale = apply_changes(root, a.event, a.set, a.date) + office.save_document(path, root, path) + gws_cli.gws_upload(loc["file_id"], path, gws_cli.DOCX) + print("Updated %r in %s." % (a.event, loc["folder_name"])) + if stale: + print("Now stale — re-run these skills: " + ", ".join(sorted(stale))) + + +if __name__ == "__main__": + main() From ba9e325ed42c380d7137cb052a2d9ad8d28fa1a3 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 20:39:29 +0530 Subject: [PATCH 14/18] refactor: create_chapter/create_series import shared gws_cli helpers Drop the duplicated _gws/gws_json/... block from both scripts; import the still- used helpers (list_children/create_folder/copy_file/gws_download/gws_upload) plus FOLDER/MIME_BY_EXT from lib/aaif_meetups/gws_cli.py. Behavior unchanged. Co-Authored-By: Claude Opus 4.8 --- .../scripts/create_chapter.py | 81 +++---------------- .../scripts/create_series.py | 81 +++---------------- 2 files changed, 18 insertions(+), 144 deletions(-) diff --git a/skills/aaif-create-chapter/scripts/create_chapter.py b/skills/aaif-create-chapter/scripts/create_chapter.py index 0c59842..caf0473 100755 --- a/skills/aaif-create-chapter/scripts/create_chapter.py +++ b/skills/aaif-create-chapter/scripts/create_chapter.py @@ -24,18 +24,18 @@ # Test the text engine on a local folder of .pptx/.docx/.xlsx (no Drive): python create_chapter.py --city "Los Angeles" --rebrand-local ./somedir """ -import argparse, html, json, os, re, subprocess, sys, time, unicodedata, urllib.error, urllib.request, zipfile +import argparse, html, os, pathlib, re, sys, unicodedata, urllib.error, urllib.request, zipfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups.gws_cli import ( # noqa: E402 + gws_download, gws_upload, list_children, create_folder, copy_file, + FOLDER, MIME_BY_EXT, +) CHAPTERS_PARENT = "1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx" # the "Chapters" Drive folder TEMPLATE_FOLDER = "1PHvEgqnHo0RrsFyA47O9iRJGaKehC8Eg" # the "TemplateCity" folder SOURCE_NAME, SOURCE_UPPER = "San Francisco", "SAN FRANCISCO" -PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation" -DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" -XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -FOLDER = "application/vnd.google-apps.folder" -MIME_BY_EXT = {".pptx": PPTX, ".docx": DOCX, ".xlsx": XLSX} - # ---------------------------------------------------------------------------- # Text rebranding engine (pure, unit-testable) # ---------------------------------------------------------------------------- @@ -158,71 +158,8 @@ def residual_tokens(path): hits.append((n.split("/")[-1], pat.decode("latin1"))) return hits -# ---------------------------------------------------------------------------- -# Drive helpers (via the gws CLI) -# ---------------------------------------------------------------------------- -_TRANSIENT = ("timed out", "internalError", "HTTP request failed", - "Connection", "temporarily", "rateLimit", "userRateLimit", - "backendError", "503", "500", "502") - -def _gws(cmd, cwd=None, retries=5): - """Run a gws command, retrying transient network/server errors.""" - for i in range(retries): - r = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True) - if r.returncode == 0: - return r.stdout - msg = (r.stderr or "") + (r.stdout or "") - if i < retries - 1 and any(k in msg for k in _TRANSIENT): - time.sleep(2 * (i + 1)) - continue - raise RuntimeError("gws failed (%s): %s" % (r.returncode, msg.strip()[:400])) - -def gws_json(*args, params=None, body=None): - cmd = ["gws", *args] - if params is not None: - cmd += ["--params", json.dumps(params)] - if body is not None: - cmd += ["--json", json.dumps(body)] - out = _gws(cmd) - s = "\n".join(l for l in out.splitlines() if "keyring backend" not in l).strip() - if not s: - # Empty-but-successful stdout would silently become {} -> an empty file - # list -> a subtree that fails to clone while the run still says "Done". - raise RuntimeError("gws produced no JSON output for: %s" % " ".join(args)) - try: - return json.loads(s) - except json.JSONDecodeError: - raise RuntimeError("gws returned non-JSON output for %s: %s" % (" ".join(args), s[:200])) - -def gws_download(file_id, out): - # gws rejects --output paths outside its cwd, so run it in the file's dir. - d = os.path.dirname(out) or "." - _gws(["gws", "drive", "files", "get", "--params", - json.dumps({"fileId": file_id, "supportsAllDrives": True, "alt": "media"}), - "--output", os.path.basename(out)], cwd=d) - -def gws_upload(file_id, path, mime): - d = os.path.dirname(path) or "." - _gws(["gws", "drive", "files", "update", "--params", - json.dumps({"fileId": file_id, "supportsAllDrives": True}), - "--upload", os.path.basename(path), "--upload-content-type", mime], cwd=d) - -def list_children(folder_id): - res = gws_json("drive", "files", "list", params={ - "q": "'%s' in parents and trashed=false" % folder_id, - "fields": "files(id,name,mimeType)", "pageSize": 1000, - "supportsAllDrives": True, "includeItemsFromAllDrives": True}) - return res.get("files", []) - -def create_folder(name, parent): - return gws_json("drive", "files", "create", - params={"supportsAllDrives": True}, - body={"name": name, "mimeType": FOLDER, "parents": [parent]})["id"] - -def copy_file(file_id, name, parent): - return gws_json("drive", "files", "copy", - params={"fileId": file_id, "supportsAllDrives": True}, - body={"name": name, "parents": [parent]})["id"] +# Drive helpers (_gws/gws_json/gws_download/gws_upload/list_children/create_folder/ +# copy_file) now live in lib/aaif_meetups/gws_cli.py and are imported above. def luma_status(slug): """Return 'live' (HTTP 200), 'absent' (HTTP 404), or 'unknown' (could not diff --git a/skills/aaif-create-online-series/scripts/create_series.py b/skills/aaif-create-online-series/scripts/create_series.py index 9167efc..57f4f10 100755 --- a/skills/aaif-create-online-series/scripts/create_series.py +++ b/skills/aaif-create-online-series/scripts/create_series.py @@ -33,18 +33,18 @@ # Test the text engine on a local folder of .pptx/.docx/.xlsx (no Drive): python create_series.py --series "Reading Group" --rebrand-local ./somedir """ -import argparse, html, json, os, re, subprocess, sys, time, unicodedata, urllib.error, urllib.request, zipfile +import argparse, html, os, pathlib, re, sys, unicodedata, urllib.error, urllib.request, zipfile + +sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) +from aaif_meetups.gws_cli import ( # noqa: E402 + gws_download, gws_upload, list_children, create_folder, copy_file, + FOLDER, MIME_BY_EXT, +) ONLINE_PARENT = "1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i" # the top-level "Online" Drive folder TEMPLATE_FOLDER = "1M15wzKvQqd_jQz5cG16NO_YcbWU3EH1j" # the "TemplateSeries" folder SOURCE_NAME, SOURCE_UPPER = "San Francisco", "SAN FRANCISCO" -PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation" -DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" -XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -FOLDER = "application/vnd.google-apps.folder" -MIME_BY_EXT = {".pptx": PPTX, ".docx": DOCX, ".xlsx": XLSX} - # ---------------------------------------------------------------------------- # Text rebranding engine (pure, unit-testable) - identical to aaif-create-chapter # ---------------------------------------------------------------------------- @@ -167,71 +167,8 @@ def residual_tokens(path): hits.append((n.split("/")[-1], pat.decode("latin1"))) return hits -# ---------------------------------------------------------------------------- -# Drive helpers (via the gws CLI) -# ---------------------------------------------------------------------------- -_TRANSIENT = ("timed out", "internalError", "HTTP request failed", - "Connection", "temporarily", "rateLimit", "userRateLimit", - "backendError", "503", "500", "502") - -def _gws(cmd, cwd=None, retries=5): - """Run a gws command, retrying transient network/server errors.""" - for i in range(retries): - r = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True) - if r.returncode == 0: - return r.stdout - msg = (r.stderr or "") + (r.stdout or "") - if i < retries - 1 and any(k in msg for k in _TRANSIENT): - time.sleep(2 * (i + 1)) - continue - raise RuntimeError("gws failed (%s): %s" % (r.returncode, msg.strip()[:400])) - -def gws_json(*args, params=None, body=None): - cmd = ["gws", *args] - if params is not None: - cmd += ["--params", json.dumps(params)] - if body is not None: - cmd += ["--json", json.dumps(body)] - out = _gws(cmd) - s = "\n".join(l for l in out.splitlines() if "keyring backend" not in l).strip() - if not s: - # Empty-but-successful stdout would silently become {} -> an empty file - # list -> a subtree that fails to clone while the run still says "Done". - raise RuntimeError("gws produced no JSON output for: %s" % " ".join(args)) - try: - return json.loads(s) - except json.JSONDecodeError: - raise RuntimeError("gws returned non-JSON output for %s: %s" % (" ".join(args), s[:200])) - -def gws_download(file_id, out): - # gws rejects --output paths outside its cwd, so run it in the file's dir. - d = os.path.dirname(out) or "." - _gws(["gws", "drive", "files", "get", "--params", - json.dumps({"fileId": file_id, "supportsAllDrives": True, "alt": "media"}), - "--output", os.path.basename(out)], cwd=d) - -def gws_upload(file_id, path, mime): - d = os.path.dirname(path) or "." - _gws(["gws", "drive", "files", "update", "--params", - json.dumps({"fileId": file_id, "supportsAllDrives": True}), - "--upload", os.path.basename(path), "--upload-content-type", mime], cwd=d) - -def list_children(folder_id): - res = gws_json("drive", "files", "list", params={ - "q": "'%s' in parents and trashed=false" % folder_id, - "fields": "files(id,name,mimeType)", "pageSize": 1000, - "supportsAllDrives": True, "includeItemsFromAllDrives": True}) - return res.get("files", []) - -def create_folder(name, parent): - return gws_json("drive", "files", "create", - params={"supportsAllDrives": True}, - body={"name": name, "mimeType": FOLDER, "parents": [parent]})["id"] - -def copy_file(file_id, name, parent): - return gws_json("drive", "files", "copy", - params={"fileId": file_id, "supportsAllDrives": True}, - body={"name": name, "parents": [parent]})["id"] +# Drive helpers (_gws/gws_json/gws_download/gws_upload/list_children/create_folder/ +# copy_file) now live in lib/aaif_meetups/gws_cli.py and are imported above. def luma_status(slug): """Return 'live' (HTTP 200), 'absent' (HTTP 404), or 'unknown' (could not From 45b570d8c9866b28e84d9eff4ccfce411ce52c0d Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 21:00:25 +0530 Subject: [PATCH 15/18] refactor: agent-driven gws; Python is deterministic local-file docx engine MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Per the principle that gws actions belong to the agent (flexible) and Python is only for well-known, unchanging transforms: - Delete lib/aaif_meetups/gws_cli.py and remove locate_tracker from tracker.py — no Drive calls in Python anymore. - The 3 skills (event-status/create-event/update-event) now operate on a LOCAL docx path; each SKILL.md instructs the agent to run gws (locate/download/upload) directly and call the deterministic script in between. - Revert create_chapter/create_series to their original self-contained state. - office.py + tracker.py remain pure-Python docx surgery (read/clone/set-field/ restamp + date math). Co-Authored-By: Claude Opus 4.8 --- .../plans/2026-06-30-aaif-event-lifecycle.md | 7 ++ .../2026-06-30-aaif-event-lifecycle-design.md | 12 ++- lib/aaif_meetups/gws_cli.py | 93 ------------------- lib/aaif_meetups/tests/test_gws_cli.py | 11 --- lib/aaif_meetups/tests/test_tracker.py | 21 +---- lib/aaif_meetups/tracker.py | 26 +----- .../scripts/create_chapter.py | 81 ++++++++++++++-- skills/aaif-create-event/SKILL.md | 51 +++++++--- .../aaif-create-event/scripts/create_event.py | 35 +++---- .../scripts/create_series.py | 81 ++++++++++++++-- skills/aaif-event-status/SKILL.md | 41 +++++--- .../aaif-event-status/scripts/event_status.py | 34 +++---- skills/aaif-update-event/SKILL.md | 48 +++++++--- .../aaif-update-event/scripts/update_event.py | 29 +++--- 14 files changed, 307 insertions(+), 263 deletions(-) delete mode 100644 lib/aaif_meetups/gws_cli.py delete mode 100644 lib/aaif_meetups/tests/test_gws_cli.py diff --git a/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md b/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md index cde5b90..e6a24bf 100644 --- a/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md +++ b/docs/superpowers/plans/2026-06-30-aaif-event-lifecycle.md @@ -2,6 +2,13 @@ > **For agentic workers:** REQUIRED SUB-SKILL: Use superpowers:subagent-driven-development (recommended) or superpowers:executing-plans to implement this plan task-by-task. Steps use checkbox (`- [ ]`) syntax for tracking. +> **Revision (post-build):** gws was pulled back out of Python. The shipped design is: +> Python (`lib/aaif_meetups/office.py` + `tracker.py`) is a **deterministic local-file +> docx engine** (read/clone/set-field/restamp + date math) with NO Drive calls; the +> **agent drives `gws` directly** (locate/download/upload) per each `SKILL.md`. Tasks 8 +> (`gws_cli.py`), 9 (`locate_tracker`), and 12 (refactor onto `gws_cli`) were reverted/ +> removed; the three skill scripts take a **local docx path** instead of a chapter name. + **Goal:** Add a `tracker-io` foundation plus three skills (`aaif-event-status`, `aaif-create-event`, `aaif-update-event`) that read and write an event's section inside a chapter/series `Event Tracker.docx`. **Architecture:** A stdlib-only Python package `lib/aaif_meetups/` provides Drive access (`gws_cli.py`), low-level docx-zip/table editing (`office.py`), and an event-aware API + date math (`tracker.py`). Each skill is a thin CLI script that adds `lib/` to `sys.path`, calls the package, and talks to Drive via the `gws` CLI. All docx edits happen in pure Python on `word/document.xml` — no LibreOffice/soffice, no third-party libraries. diff --git a/docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md b/docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md index 1d3ae30..b7f3245 100644 --- a/docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md +++ b/docs/superpowers/specs/2026-06-30-aaif-event-lifecycle-design.md @@ -1,7 +1,17 @@ # AAIF Event Lifecycle + `tracker-io` Foundation — Design **Date:** 2026-06-30 -**Status:** Draft for review +**Status:** Implemented (with revision below) + +> **Revision (post-build):** the gws-orchestration was pulled back OUT of Python. The +> Python layer (`lib/aaif_meetups/office.py` + `tracker.py`) is now a **deterministic, +> local-file docx engine only** — no Drive calls, no `gws` wrapper. The **agent drives +> every `gws` action directly** (locate → download → upload) per each skill's `SKILL.md`, +> for flexibility. There is no `locate_tracker()` or `gws_cli.py`; the original +> `create_chapter.py` / `create_series.py` keep their own self-contained gws calls. The +> design below still describes the docx engine and date math accurately; mentally replace +> "`locate_tracker` / `gws_cli`" with "the agent runs the gws CLI; Python edits the +> downloaded file." **Scope of this spec:** Sub-projects #1 (the `tracker-io` foundation) and #2 (the three event-lifecycle skills). The other sub-projects (pptx-fill-export, content-skill enhancement, management/health skills, two-bundle repo split) are out of scope here and diff --git a/lib/aaif_meetups/gws_cli.py b/lib/aaif_meetups/gws_cli.py deleted file mode 100644 index beb412a..0000000 --- a/lib/aaif_meetups/gws_cli.py +++ /dev/null @@ -1,93 +0,0 @@ -"""Thin wrapper around the googleworkspace `gws` CLI (https://github.com/googleworkspace/cli). - -This does NOT reimplement Drive — every function shells out to the real `gws` -binary via subprocess, exactly as create_chapter.py already does. Lifted here so -every skill (chapter/series creation, event lifecycle) shares one wrapper instead -of duplicating the subprocess calls. Stdlib-only.""" -import json -import os -import subprocess -import time - -PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation" -DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" -XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" -FOLDER = "application/vnd.google-apps.folder" -MIME_BY_EXT = {".pptx": PPTX, ".docx": DOCX, ".xlsx": XLSX} - -_TRANSIENT = ("timed out", "internalError", "HTTP request failed", - "Connection", "temporarily", "rateLimit", "userRateLimit", - "backendError", "503", "500", "502") - - -def _gws(cmd, cwd=None, retries=5): - """Run a gws command, retrying transient network/server errors.""" - for i in range(retries): - r = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True) - if r.returncode == 0: - return r.stdout - msg = (r.stderr or "") + (r.stdout or "") - if i < retries - 1 and any(k in msg for k in _TRANSIENT): - time.sleep(2 * (i + 1)) - continue - raise RuntimeError("gws failed (%s): %s" % (r.returncode, msg.strip()[:400])) - - -def gws_json(*args, params=None, body=None): - cmd = ["gws", *args] - if params is not None: - cmd += ["--params", json.dumps(params)] - if body is not None: - cmd += ["--json", json.dumps(body)] - out = _gws(cmd) - s = "\n".join(l for l in out.splitlines() if "keyring backend" not in l).strip() - if not s: - # Empty-but-successful stdout would silently become {} -> an empty file - # list -> a subtree that fails to clone while the run still says "Done". - raise RuntimeError("gws produced no JSON output for: %s" % " ".join(args)) - try: - return json.loads(s) - except json.JSONDecodeError: - raise RuntimeError("gws returned non-JSON output for %s: %s" % (" ".join(args), s[:200])) - - -def gws_download(file_id, out): - # gws rejects --output paths outside its cwd, so run it in the file's dir. - d = os.path.dirname(out) or "." - _gws(["gws", "drive", "files", "get", "--params", - json.dumps({"fileId": file_id, "supportsAllDrives": True, "alt": "media"}), - "--output", os.path.basename(out)], cwd=d) - - -def gws_upload(file_id, path, mime): - d = os.path.dirname(path) or "." - _gws(["gws", "drive", "files", "update", "--params", - json.dumps({"fileId": file_id, "supportsAllDrives": True}), - "--upload", os.path.basename(path), "--upload-content-type", mime], cwd=d) - - -def list_children(folder_id): - res = gws_json("drive", "files", "list", params={ - "q": "'%s' in parents and trashed=false" % folder_id, - "fields": "files(id,name,mimeType)", "pageSize": 1000, - "supportsAllDrives": True, "includeItemsFromAllDrives": True}) - return res.get("files", []) - - -def find_child(folder_id, name): - for c in list_children(folder_id): - if c.get("name") == name: - return c - return None - - -def create_folder(name, parent): - return gws_json("drive", "files", "create", - params={"supportsAllDrives": True}, - body={"name": name, "mimeType": FOLDER, "parents": [parent]})["id"] - - -def copy_file(file_id, name, parent): - return gws_json("drive", "files", "copy", - params={"fileId": file_id, "supportsAllDrives": True}, - body={"name": name, "parents": [parent]})["id"] diff --git a/lib/aaif_meetups/tests/test_gws_cli.py b/lib/aaif_meetups/tests/test_gws_cli.py deleted file mode 100644 index 5602360..0000000 --- a/lib/aaif_meetups/tests/test_gws_cli.py +++ /dev/null @@ -1,11 +0,0 @@ -import unittest - -from aaif_meetups import gws_cli - - -class TestGwsCliModule(unittest.TestCase): - def test_exposes_callables_and_mime(self): - for name in ("gws_json", "gws_download", "gws_upload", - "list_children", "find_child"): - self.assertTrue(callable(getattr(gws_cli, name)), name) - self.assertIn("wordprocessingml", gws_cli.DOCX) diff --git a/lib/aaif_meetups/tests/test_tracker.py b/lib/aaif_meetups/tests/test_tracker.py index b904783..ebdcee1 100644 --- a/lib/aaif_meetups/tests/test_tracker.py +++ b/lib/aaif_meetups/tests/test_tracker.py @@ -2,7 +2,7 @@ import os import unittest -from aaif_meetups import gws_cli, office, tracker +from aaif_meetups import office, tracker FIX = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_irl.docx") @@ -99,22 +99,3 @@ def test_add_event_appends_section(self): office.save_document(FIX, self.root, out) reloaded = office.read_document(out) self.assertEqual(len(tracker.list_events(reloaded)), before + 1) - - -class TestLocate(unittest.TestCase): - def test_locate_prefers_chapters_then_online(self): - def fake_children(folder_id): - if folder_id == tracker.CHAPTERS_PARENT: - return [{"id": "fA", "name": "Berlin", - "mimeType": "application/vnd.google-apps.folder"}] - if folder_id == "fA": - return [{"id": "tDoc", "name": "Event Tracker.docx"}] - return [] - orig = gws_cli.list_children - gws_cli.list_children = fake_children - try: - got = tracker.locate_tracker("berlin") - finally: - gws_cli.list_children = orig - self.assertEqual(got["file_id"], "tDoc") - self.assertEqual(got["kind"], "chapter") diff --git a/lib/aaif_meetups/tracker.py b/lib/aaif_meetups/tracker.py index 5eb2300..6aaa3a1 100644 --- a/lib/aaif_meetups/tracker.py +++ b/lib/aaif_meetups/tracker.py @@ -4,11 +4,7 @@ import datetime as dt import re -from aaif_meetups import gws_cli, office - -CHAPTERS_PARENT = "1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx" -ONLINE_PARENT = "1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i" -FOLDER_MIME = "application/vnd.google-apps.folder" +from aaif_meetups import office _MONTHS = {m: i for i, m in enumerate( ["", "jan", "feb", "mar", "apr", "may", "jun", @@ -231,23 +227,3 @@ def add_event(root, fields, event_date): insert_at = kids.index(sectpr) if sectpr is not None else len(kids) for offset, el in enumerate(block): body.insert(insert_at + offset, el) - - -def _find_folder(parent, name): - key = name.strip().lower() - for c in gws_cli.list_children(parent): - if c.get("mimeType") == FOLDER_MIME and c.get("name", "").lower() == key: - return c - return None - - -def locate_tracker(name): - for parent, kind in ((CHAPTERS_PARENT, "chapter"), (ONLINE_PARENT, "series")): - folder = _find_folder(parent, name) - if folder: - doc = gws_cli.find_child(folder["id"], "Event Tracker.docx") - if not doc: - raise LookupError("%r has no Event Tracker.docx" % name) - return {"file_id": doc["id"], "kind": kind, - "folder_id": folder["id"], "folder_name": folder["name"]} - raise LookupError("no chapter or series named %r" % name) diff --git a/skills/aaif-create-chapter/scripts/create_chapter.py b/skills/aaif-create-chapter/scripts/create_chapter.py index caf0473..0c59842 100755 --- a/skills/aaif-create-chapter/scripts/create_chapter.py +++ b/skills/aaif-create-chapter/scripts/create_chapter.py @@ -24,18 +24,18 @@ # Test the text engine on a local folder of .pptx/.docx/.xlsx (no Drive): python create_chapter.py --city "Los Angeles" --rebrand-local ./somedir """ -import argparse, html, os, pathlib, re, sys, unicodedata, urllib.error, urllib.request, zipfile - -sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups.gws_cli import ( # noqa: E402 - gws_download, gws_upload, list_children, create_folder, copy_file, - FOLDER, MIME_BY_EXT, -) +import argparse, html, json, os, re, subprocess, sys, time, unicodedata, urllib.error, urllib.request, zipfile CHAPTERS_PARENT = "1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx" # the "Chapters" Drive folder TEMPLATE_FOLDER = "1PHvEgqnHo0RrsFyA47O9iRJGaKehC8Eg" # the "TemplateCity" folder SOURCE_NAME, SOURCE_UPPER = "San Francisco", "SAN FRANCISCO" +PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation" +DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" +XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" +FOLDER = "application/vnd.google-apps.folder" +MIME_BY_EXT = {".pptx": PPTX, ".docx": DOCX, ".xlsx": XLSX} + # ---------------------------------------------------------------------------- # Text rebranding engine (pure, unit-testable) # ---------------------------------------------------------------------------- @@ -158,8 +158,71 @@ def residual_tokens(path): hits.append((n.split("/")[-1], pat.decode("latin1"))) return hits -# Drive helpers (_gws/gws_json/gws_download/gws_upload/list_children/create_folder/ -# copy_file) now live in lib/aaif_meetups/gws_cli.py and are imported above. +# ---------------------------------------------------------------------------- +# Drive helpers (via the gws CLI) +# ---------------------------------------------------------------------------- +_TRANSIENT = ("timed out", "internalError", "HTTP request failed", + "Connection", "temporarily", "rateLimit", "userRateLimit", + "backendError", "503", "500", "502") + +def _gws(cmd, cwd=None, retries=5): + """Run a gws command, retrying transient network/server errors.""" + for i in range(retries): + r = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True) + if r.returncode == 0: + return r.stdout + msg = (r.stderr or "") + (r.stdout or "") + if i < retries - 1 and any(k in msg for k in _TRANSIENT): + time.sleep(2 * (i + 1)) + continue + raise RuntimeError("gws failed (%s): %s" % (r.returncode, msg.strip()[:400])) + +def gws_json(*args, params=None, body=None): + cmd = ["gws", *args] + if params is not None: + cmd += ["--params", json.dumps(params)] + if body is not None: + cmd += ["--json", json.dumps(body)] + out = _gws(cmd) + s = "\n".join(l for l in out.splitlines() if "keyring backend" not in l).strip() + if not s: + # Empty-but-successful stdout would silently become {} -> an empty file + # list -> a subtree that fails to clone while the run still says "Done". + raise RuntimeError("gws produced no JSON output for: %s" % " ".join(args)) + try: + return json.loads(s) + except json.JSONDecodeError: + raise RuntimeError("gws returned non-JSON output for %s: %s" % (" ".join(args), s[:200])) + +def gws_download(file_id, out): + # gws rejects --output paths outside its cwd, so run it in the file's dir. + d = os.path.dirname(out) or "." + _gws(["gws", "drive", "files", "get", "--params", + json.dumps({"fileId": file_id, "supportsAllDrives": True, "alt": "media"}), + "--output", os.path.basename(out)], cwd=d) + +def gws_upload(file_id, path, mime): + d = os.path.dirname(path) or "." + _gws(["gws", "drive", "files", "update", "--params", + json.dumps({"fileId": file_id, "supportsAllDrives": True}), + "--upload", os.path.basename(path), "--upload-content-type", mime], cwd=d) + +def list_children(folder_id): + res = gws_json("drive", "files", "list", params={ + "q": "'%s' in parents and trashed=false" % folder_id, + "fields": "files(id,name,mimeType)", "pageSize": 1000, + "supportsAllDrives": True, "includeItemsFromAllDrives": True}) + return res.get("files", []) + +def create_folder(name, parent): + return gws_json("drive", "files", "create", + params={"supportsAllDrives": True}, + body={"name": name, "mimeType": FOLDER, "parents": [parent]})["id"] + +def copy_file(file_id, name, parent): + return gws_json("drive", "files", "copy", + params={"fileId": file_id, "supportsAllDrives": True}, + body={"name": name, "parents": [parent]})["id"] def luma_status(slug): """Return 'live' (HTTP 200), 'absent' (HTTP 404), or 'unknown' (could not diff --git a/skills/aaif-create-event/SKILL.md b/skills/aaif-create-event/SKILL.md index 712c381..568e28b 100644 --- a/skills/aaif-create-event/SKILL.md +++ b/skills/aaif-create-event/SKILL.md @@ -6,20 +6,45 @@ argument-hint: ' --title "..." --date "..."' # AAIF Create Event -Clone the example event section in a chapter/series `Event Tracker.docx`, fill the -detail block, and compute every phase task's DUE date backward from the event date. -Mode is auto-detected: a chapter (under Chapters/) clones the in-person task set; an -online series (under Online/) clones the online set. Aborts if the title already exists. +Add a new event to a chapter/series `Event Tracker.docx`: clone the example event +section, fill the detail block, and compute every phase task's DUE date backward from +the event date (the template's exact cadence is preserved per task). Mode is implicit — +a chapter clones the in-person task set, an online series the online set, because you +download whichever tracker the folder holds. -Prereq: the `gws` CLI must be installed and authenticated (`gws-cli-access`). +**You (the agent) drive Google Drive via the `gws` CLI; the Python script only does the +deterministic docx edit on a local file.** Prereq: `gws` installed and authenticated +(`gws-cli-access`). -## Run +## Steps - python skills/aaif-create-event/scripts/create_event.py "" \ - --title "Eval Night · Builder Series" \ - --date "Wed · August 12, 2026 · 18:00 — late" \ - [--theme "..."] [--venue "..."] [--platform "..."] [--speakers "..."] \ - [--luma "lu.ma/aaif-..."] [--capacity "..."] [--organizer "..."] [--dry-run] +1. **Locate the tracker.** Chapters parent `1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx`, Online + parent `1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i`. Find the named folder, then its + `Event Tracker.docx` id (see `aaif-event-status` for the exact `gws drive files list` + queries). -Anything you omit is left as the example's text for you to fill later. Due-dates -keep the template's exact cadence (each task's offset from the event date is preserved). +2. **Download it:** + + ``` + gws drive files get --params '{"fileId":"","alt":"media"}' --output tracker.docx + ``` + +3. **Add the event (deterministic, local).** Aborts if the title already exists: + + ``` + python skills/aaif-create-event/scripts/create_event.py tracker.docx \ + --title "Eval Night · Builder Series" \ + --date "Wed · August 12, 2026 · 18:00 — late" \ + [--theme ...] [--venue ...] [--platform ...] [--speakers ...] \ + [--luma ...] [--capacity ...] [--organizer ...] [--dry-run] + ``` + Omitted fields keep the example's text for the organizer to fill later. + +4. **Upload it back:** + + ``` + gws drive files update --params '{"fileId":""}' --upload tracker.docx \ + --upload-content-type application/vnd.openxmlformats-officedocument.wordprocessingml.document + ``` + +Use `--dry-run` in step 3 first if you want to preview without modifying the local file. diff --git a/skills/aaif-create-event/scripts/create_event.py b/skills/aaif-create-event/scripts/create_event.py index 1c6d00c..d30b476 100755 --- a/skills/aaif-create-event/scripts/create_event.py +++ b/skills/aaif-create-event/scripts/create_event.py @@ -1,15 +1,14 @@ #!/usr/bin/env python3 -"""Create a new event section in a chapter/series Event Tracker.docx: clone the -example section, fill details, and stamp all phase due-dates from the event date. -Stdlib-only, pure-Python docx edit; Drive I/O via the gws CLI.""" +"""Deterministic, local-file event creator: clone the example section in an +Event Tracker.docx, fill details, and stamp all phase due-dates from the event date. +Operates on a docx the agent has ALREADY downloaded via the gws CLI — this script +never touches Drive. Pure-Python docx edit.""" import argparse -import os import pathlib import sys -import tempfile sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups import gws_cli, office, tracker # noqa: E402 +from aaif_meetups import office, tracker # noqa: E402 # CLI flag -> detail label FIELD_MAP = {"title": "EVENT TITLE", "date": "DATE & TIME", "theme": "THEME / SERIES", @@ -34,8 +33,8 @@ def _fields_from_args(a): def main(): - ap = argparse.ArgumentParser() - ap.add_argument("group", help="chapter or series name") + ap = argparse.ArgumentParser(description="Add an event to a local Event Tracker.docx") + ap.add_argument("docx", help="path to a tracker.docx already downloaded via gws") ap.add_argument("--title", required=True) ap.add_argument("--date", required=True, help='e.g. "Wed · August 12, 2026 · 18:00 — late"') for f in ("theme", "venue", "platform", "speakers", "luma", "capacity", @@ -46,22 +45,16 @@ def main(): event_date = tracker.parse_event_date(a.date) fields = _fields_from_args(a) - loc = tracker.locate_tracker(a.group) - print("Tracker: %s (%s) event: %s date: %s" - % (loc["folder_name"], loc["kind"], a.title, event_date)) + root = office.read_document(a.docx) + if any(a.title.lower() in e["title"].lower() for e in tracker.list_events(root)): + sys.exit("ABORT: an event titled %r already exists in %s." % (a.title, a.docx)) + print("Event: %s date: %s (fields set: %s)" + % (a.title, event_date, ", ".join(sorted(fields)) or "title/date only")) if a.dry_run: print("[dry-run] would clone the example section and stamp dates; no write.") return - with tempfile.TemporaryDirectory() as d: - path = os.path.join(d, "tracker.docx") - gws_cli.gws_download(loc["file_id"], path) - root = office.read_document(path) - if any(a.title.lower() in e["title"].lower() for e in tracker.list_events(root)): - sys.exit("ABORT: an event titled %r already exists in this tracker." % a.title) - tracker.add_event(root, fields, event_date) - office.save_document(path, root, path) - gws_cli.gws_upload(loc["file_id"], path, gws_cli.DOCX) - print("Done. New event section added and due-dates stamped.") + apply_local(a.docx, fields, event_date) + print("Done. New event section added to %s and due-dates stamped." % a.docx) if __name__ == "__main__": diff --git a/skills/aaif-create-online-series/scripts/create_series.py b/skills/aaif-create-online-series/scripts/create_series.py index 57f4f10..9167efc 100755 --- a/skills/aaif-create-online-series/scripts/create_series.py +++ b/skills/aaif-create-online-series/scripts/create_series.py @@ -33,18 +33,18 @@ # Test the text engine on a local folder of .pptx/.docx/.xlsx (no Drive): python create_series.py --series "Reading Group" --rebrand-local ./somedir """ -import argparse, html, os, pathlib, re, sys, unicodedata, urllib.error, urllib.request, zipfile - -sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups.gws_cli import ( # noqa: E402 - gws_download, gws_upload, list_children, create_folder, copy_file, - FOLDER, MIME_BY_EXT, -) +import argparse, html, json, os, re, subprocess, sys, time, unicodedata, urllib.error, urllib.request, zipfile ONLINE_PARENT = "1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i" # the top-level "Online" Drive folder TEMPLATE_FOLDER = "1M15wzKvQqd_jQz5cG16NO_YcbWU3EH1j" # the "TemplateSeries" folder SOURCE_NAME, SOURCE_UPPER = "San Francisco", "SAN FRANCISCO" +PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation" +DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document" +XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" +FOLDER = "application/vnd.google-apps.folder" +MIME_BY_EXT = {".pptx": PPTX, ".docx": DOCX, ".xlsx": XLSX} + # ---------------------------------------------------------------------------- # Text rebranding engine (pure, unit-testable) - identical to aaif-create-chapter # ---------------------------------------------------------------------------- @@ -167,8 +167,71 @@ def residual_tokens(path): hits.append((n.split("/")[-1], pat.decode("latin1"))) return hits -# Drive helpers (_gws/gws_json/gws_download/gws_upload/list_children/create_folder/ -# copy_file) now live in lib/aaif_meetups/gws_cli.py and are imported above. +# ---------------------------------------------------------------------------- +# Drive helpers (via the gws CLI) +# ---------------------------------------------------------------------------- +_TRANSIENT = ("timed out", "internalError", "HTTP request failed", + "Connection", "temporarily", "rateLimit", "userRateLimit", + "backendError", "503", "500", "502") + +def _gws(cmd, cwd=None, retries=5): + """Run a gws command, retrying transient network/server errors.""" + for i in range(retries): + r = subprocess.run(cmd, cwd=cwd, capture_output=True, text=True) + if r.returncode == 0: + return r.stdout + msg = (r.stderr or "") + (r.stdout or "") + if i < retries - 1 and any(k in msg for k in _TRANSIENT): + time.sleep(2 * (i + 1)) + continue + raise RuntimeError("gws failed (%s): %s" % (r.returncode, msg.strip()[:400])) + +def gws_json(*args, params=None, body=None): + cmd = ["gws", *args] + if params is not None: + cmd += ["--params", json.dumps(params)] + if body is not None: + cmd += ["--json", json.dumps(body)] + out = _gws(cmd) + s = "\n".join(l for l in out.splitlines() if "keyring backend" not in l).strip() + if not s: + # Empty-but-successful stdout would silently become {} -> an empty file + # list -> a subtree that fails to clone while the run still says "Done". + raise RuntimeError("gws produced no JSON output for: %s" % " ".join(args)) + try: + return json.loads(s) + except json.JSONDecodeError: + raise RuntimeError("gws returned non-JSON output for %s: %s" % (" ".join(args), s[:200])) + +def gws_download(file_id, out): + # gws rejects --output paths outside its cwd, so run it in the file's dir. + d = os.path.dirname(out) or "." + _gws(["gws", "drive", "files", "get", "--params", + json.dumps({"fileId": file_id, "supportsAllDrives": True, "alt": "media"}), + "--output", os.path.basename(out)], cwd=d) + +def gws_upload(file_id, path, mime): + d = os.path.dirname(path) or "." + _gws(["gws", "drive", "files", "update", "--params", + json.dumps({"fileId": file_id, "supportsAllDrives": True}), + "--upload", os.path.basename(path), "--upload-content-type", mime], cwd=d) + +def list_children(folder_id): + res = gws_json("drive", "files", "list", params={ + "q": "'%s' in parents and trashed=false" % folder_id, + "fields": "files(id,name,mimeType)", "pageSize": 1000, + "supportsAllDrives": True, "includeItemsFromAllDrives": True}) + return res.get("files", []) + +def create_folder(name, parent): + return gws_json("drive", "files", "create", + params={"supportsAllDrives": True}, + body={"name": name, "mimeType": FOLDER, "parents": [parent]})["id"] + +def copy_file(file_id, name, parent): + return gws_json("drive", "files", "copy", + params={"fileId": file_id, "supportsAllDrives": True}, + body={"name": name, "parents": [parent]})["id"] def luma_status(slug): """Return 'live' (HTTP 200), 'absent' (HTTP 404), or 'unknown' (could not diff --git a/skills/aaif-event-status/SKILL.md b/skills/aaif-event-status/SKILL.md index 0fe315a..5195286 100644 --- a/skills/aaif-event-status/SKILL.md +++ b/skills/aaif-event-status/SKILL.md @@ -6,21 +6,38 @@ argument-hint: ' [event]' # AAIF Event Status -Read-only digest of a chapter or online series' `Event Tracker.docx`: for each -event, the **overdue** and **due-soon** (within 7 days) tasks, grouped by owner. -Never writes. +Read-only digest of a chapter or online series' `Event Tracker.docx`: for each event, +the **overdue** and **due-soon** (within 7 days) tasks, grouped by owner. -Prereq: the `gws` CLI must be installed and authenticated (`gws-cli-access`). -The first argument resolves under **Chapters/** or **Online/** automatically. +**You (the agent) drive Google Drive via the `gws` CLI; the Python script only does the +deterministic parsing of a local file.** Prereq: `gws` installed and authenticated +(`gws-cli-access`). -## Run +## Steps - python skills/aaif-event-status/scripts/event_status.py "" ["event"] +1. **Locate the tracker.** A chapter lives under the **Chapters** folder + (`1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx`); an online series under **Online** + (`1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i`). Find the folder, then its `Event Tracker.docx`: -Examples: + ``` + gws drive files list --params '{"q":"name = '\'''\'' and '\''1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx'\'' in parents and trashed=false","fields":"files(id,name)"}' + # then, with the folder id: + gws drive files list --params '{"q":"'\'''\'' in parents and name = '\''Event Tracker.docx'\'' and trashed=false","fields":"files(id)"}' + ``` + If not found under Chapters, try the Online parent. (Mode is implicit: whichever + folder it lived in.) - python skills/aaif-event-status/scripts/event_status.py "Berlin" - python skills/aaif-event-status/scripts/event_status.py "Reading Group" "Paper Club" +2. **Download it** to a temp path: -Status is computed against today's date from each task's DUE cell; clock-time -day-of tasks and `Done` tasks are excluded. + ``` + gws drive files get --params '{"fileId":"","alt":"media"}' --output tracker.docx + ``` + +3. **Run the digest** (read-only, local): + + ``` + python skills/aaif-event-status/scripts/event_status.py tracker.docx ["event"] + ``` + +Status is computed against today from each task's DUE cell; clock-time day-of tasks and +`Done` tasks are excluded. Nothing is written back — this skill only reads. diff --git a/skills/aaif-event-status/scripts/event_status.py b/skills/aaif-event-status/scripts/event_status.py index 268a706..3d7c993 100755 --- a/skills/aaif-event-status/scripts/event_status.py +++ b/skills/aaif-event-status/scripts/event_status.py @@ -1,15 +1,15 @@ #!/usr/bin/env python3 -"""Read-only status digest for a chapter/series Event Tracker: overdue and -due-soon tasks grouped by owner. Reads via the gws CLI; pure-Python parsing.""" +"""Deterministic, local-file status digest for an Event Tracker.docx: overdue and +due-soon tasks grouped by owner. Operates on a docx the agent has ALREADY downloaded +with the gws CLI — this script never touches Drive. Pure-Python parsing.""" import argparse import datetime as dt import os import pathlib import sys -import tempfile sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups import gws_cli, office, tracker # noqa: E402 +from aaif_meetups import office, tracker # noqa: E402 DUE_SOON_DAYS = 7 @@ -42,22 +42,18 @@ def _digest(ev, today): def main(): - ap = argparse.ArgumentParser() - ap.add_argument("group", help="chapter or series name") - ap.add_argument("event", nargs="?", help="optional event title; default all") + ap = argparse.ArgumentParser(description="Status digest for a local Event Tracker.docx") + ap.add_argument("docx", help="path to a tracker.docx already downloaded via gws") + ap.add_argument("event", nargs="?", help="optional event title filter; default all") a = ap.parse_args() - loc = tracker.locate_tracker(a.group) - with tempfile.TemporaryDirectory() as d: - path = os.path.join(d, "tracker.docx") - gws_cli.gws_download(loc["file_id"], path) - root = office.read_document(path) - events = tracker.list_events(root) - if a.event: - events = [e for e in events if a.event.lower() in e["title"].lower()] - today = dt.date.today() - print("%s (%s) — %d event(s)" % (loc["folder_name"], loc["kind"], len(events))) - for e in events: - print(_digest(tracker.read_event(root, e["title"]), today)) + root = office.read_document(a.docx) + events = tracker.list_events(root) + if a.event: + events = [e for e in events if a.event.lower() in e["title"].lower()] + today = dt.date.today() + print("%s — %d event(s)" % (os.path.basename(a.docx), len(events))) + for e in events: + print(_digest(tracker.read_event(root, e["title"]), today)) if __name__ == "__main__": diff --git a/skills/aaif-update-event/SKILL.md b/skills/aaif-update-event/SKILL.md index eee2d7b..b167176 100644 --- a/skills/aaif-update-event/SKILL.md +++ b/skills/aaif-update-event/SKILL.md @@ -7,22 +7,46 @@ argument-hint: ' [--set "LABEL=value"] [--date "..."]' # AAIF Update Event Change-driven editor for one event in a chapter/series `Event Tracker.docx`. State the -change; the skill edits the right detail fields. If you move the date, every phase task -DUE date is recomputed (clock-time day-of tasks are left alone). It then reports which +change; the script edits the right detail fields. If you move the date, every phase task +DUE date is recomputed (clock-time day-of tasks are left alone). It reports which downstream assets (banner, Luma cover, posts, slides) are now stale so you can re-run those skills — it does not regenerate them. -Prereq: the `gws` CLI must be installed and authenticated (`gws-cli-access`). +**You (the agent) drive Google Drive via the `gws` CLI; the Python script only does the +deterministic docx edit on a local file.** Prereq: `gws` installed and authenticated +(`gws-cli-access`). -## Run +## Steps - # add/replace a speaker - python skills/aaif-update-event/scripts/update_event.py "Berlin" "Agentic AI Night" \ - --set "SPEAKER(S)=Jane Doe (Agent Infra)" +1. **Locate + download the tracker** (Chapters parent `1IQ1K7aVOKUUkxAcfLuNjdETEnmavvtjx`, + Online parent `1g2vHrqDHfh9wBkDJryJIl8wqXA4J-d4i`; see `aaif-event-status` for the + `gws drive files list` queries): - # move the date (recomputes all due-dates) - python skills/aaif-update-event/scripts/update_event.py "Berlin" "Agentic AI Night" \ - --date "Wed · July 8, 2026 · 17:30 — late" + ``` + gws drive files get --params '{"fileId":"","alt":"media"}' --output tracker.docx + ``` -Detail labels: EVENT TITLE, DATE & TIME, LOCATION / CITY, VENUE, THEME / SERIES, -FORMAT(S), SPEAKER(S), LUMA URL, CAPACITY / RSVPS, ORGANIZER ON POINT. +2. **Apply the change (deterministic, local):** + + ``` + # add/replace a speaker + python skills/aaif-update-event/scripts/update_event.py tracker.docx "Agentic AI Night" \ + --set "SPEAKER(S)=Jane Doe (Agent Infra)" + + # move the date (recomputes all due-dates from the original date) + python skills/aaif-update-event/scripts/update_event.py tracker.docx "Agentic AI Night" \ + --date "Wed · July 8, 2026 · 17:30 — late" + ``` + The event argument matches a case-insensitive title substring, or `next` / `latest`. + Detail labels: EVENT TITLE, DATE & TIME, LOCATION / CITY, VENUE, THEME / SERIES, + FORMAT(S), SPEAKER(S), LUMA URL, CAPACITY / RSVPS, ORGANIZER ON POINT. + +3. **Upload it back:** + + ``` + gws drive files update --params '{"fileId":""}' --upload tracker.docx \ + --upload-content-type application/vnd.openxmlformats-officedocument.wordprocessingml.document + ``` + +The script prints the stale-asset list in step 2 — surface that so the organizer knows +which content/banner skills to re-run. diff --git a/skills/aaif-update-event/scripts/update_event.py b/skills/aaif-update-event/scripts/update_event.py index 76fabdd..6b27db0 100755 --- a/skills/aaif-update-event/scripts/update_event.py +++ b/skills/aaif-update-event/scripts/update_event.py @@ -1,15 +1,13 @@ #!/usr/bin/env python3 -"""Apply a targeted change to an existing event in a chapter/series tracker: -edit detail fields and, when the date moves, recompute every phase due-date. -Then report which downstream assets are now stale. Pure-Python docx edit.""" +"""Deterministic, local-file event updater: edit detail fields and, when the date +moves, recompute every phase due-date. Operates on a docx the agent has ALREADY +downloaded via the gws CLI — this script never touches Drive. Pure-Python docx edit.""" import argparse -import os import pathlib import sys -import tempfile sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) -from aaif_meetups import gws_cli, office, tracker # noqa: E402 +from aaif_meetups import office, tracker # noqa: E402 STALE_ON_DATE = ["square banner", "Luma cover", "announcement post", "carousel", "day-of slides", "attendee reminder"] @@ -36,23 +34,18 @@ def apply_changes(root, event, set_pairs, date_str): def main(): - ap = argparse.ArgumentParser() - ap.add_argument("group") - ap.add_argument("event") + ap = argparse.ArgumentParser(description="Update an event in a local Event Tracker.docx") + ap.add_argument("docx", help="path to a tracker.docx already downloaded via gws") + ap.add_argument("event", help="event title (case-insensitive substring), or 'next'/'latest'") ap.add_argument("--set", action="append", default=[], metavar="LABEL=VALUE", help='e.g. --set "SPEAKER(S)=Jane Doe"') ap.add_argument("--date", help="new DATE & TIME value; triggers due-date recompute") a = ap.parse_args() - loc = tracker.locate_tracker(a.group) - with tempfile.TemporaryDirectory() as d: - path = os.path.join(d, "tracker.docx") - gws_cli.gws_download(loc["file_id"], path) - root = office.read_document(path) - stale = apply_changes(root, a.event, a.set, a.date) - office.save_document(path, root, path) - gws_cli.gws_upload(loc["file_id"], path, gws_cli.DOCX) - print("Updated %r in %s." % (a.event, loc["folder_name"])) + root = office.read_document(a.docx) + stale = apply_changes(root, a.event, a.set, a.date) + office.save_document(a.docx, root, a.docx) + print("Updated %r in %s." % (a.event, a.docx)) if stale: print("Now stale — re-run these skills: " + ", ".join(sorted(stale))) From 73f2605578d904aa3c6181388f30bf00d14cf875 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 22:15:47 +0530 Subject: [PATCH 16/18] fix: address self-review findings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Critical: - create_event/add_event no longer silently drop unmatched detail labels; add_event raises listing missing labels. Map --platform -> PLATFORM (not VENUE), add --join (STREAM / JOIN LINK); flags must match the tracker's labels. Important: - office.save_document now registers the document's namespace prefixes so re-serialization preserves r:id / w14: / mc: etc. (was renaming everything to ns0/1/2). - _select prefers an exact title match, then a unique substring; ambiguous substrings raise instead of silently editing the wrong event. - event_status digests the resolved event ref directly (no title round-trip). - add_event clones+rewrites the date/title heading and drops the stale 'Example event — duplicate this whole section' caption. - parse_event_date rejects yearless dates (was defaulting to current year). - update/create SKILL.md document in-person vs online detail labels. Suggestions: - event_status flags events whose DATE & TIME failed to parse. - Task is now a frozen dataclass (attribute access; typo'd field raises). - Documented set_cell_text hyperlink-target limitation. - Added tests: multi-event selection, year-boundary dates, raise-on-missing-label, add_event heading/caption, online fixture, save namespace fidelity, empty-cell. Co-Authored-By: Claude Opus 4.8 --- lib/aaif_meetups/office.py | 44 ++++++++- lib/aaif_meetups/tests/test_office.py | 22 +++++ lib/aaif_meetups/tests/test_tracker.py | 95 +++++++++++++++++- lib/aaif_meetups/tracker.py | 96 ++++++++++++++----- skills/aaif-create-event/SKILL.md | 14 ++- .../aaif-create-event/scripts/create_event.py | 11 ++- .../scripts/test_create_event.py | 12 +++ .../aaif-event-status/scripts/event_status.py | 23 +++-- .../scripts/test_event_status.py | 13 +-- skills/aaif-update-event/SKILL.md | 14 ++- .../scripts/test_update_event.py | 13 ++- 11 files changed, 300 insertions(+), 57 deletions(-) diff --git a/lib/aaif_meetups/office.py b/lib/aaif_meetups/office.py index c6af1da..c2312ee 100644 --- a/lib/aaif_meetups/office.py +++ b/lib/aaif_meetups/office.py @@ -1,5 +1,6 @@ """Stdlib-only OOXML helpers: read/write word/document.xml inside a .docx zip, and navigate/edit its tables, rows, cells, and paragraph run text.""" +import re import zipfile from xml.etree import ElementTree as ET @@ -7,10 +8,27 @@ W = "{%s}" % NS ET.register_namespace("w", NS) +_XMLNS_RE = re.compile(rb'xmlns:([A-Za-z0-9_]+)="([^"]+)"') + + +def _register_namespaces(xml_bytes): + """Register every xmlns prefix declared in the document so ElementTree + serializes with the original prefixes (e.g. `r:id`, `mc:Ignorable`) instead of + auto-generated `ns0:`/`ns1:` ones. Without this, re-serializing renames every + namespaced attribute and can make Word reject the file.""" + for m in _XMLNS_RE.finditer(xml_bytes): + prefix, uri = m.group(1).decode(), m.group(2).decode() + try: + ET.register_namespace(prefix, uri) + except ValueError: + pass # reserved prefixes like "xml" + def read_document(path): with zipfile.ZipFile(path) as z: - return ET.fromstring(z.read("word/document.xml")) + data = z.read("word/document.xml") + _register_namespaces(data) + return ET.fromstring(data) def save_document(src_path, root, out_path): @@ -48,12 +66,30 @@ def para_text(p): return "".join(t.text or "" for t in _texts(p)).strip() -def set_cell_text(tc, text): - ts = _texts(tc) +def _set_runs_text(el, text): + """Write `text` into the first run's of `el`, blank every other + (preserves the element's run formatting). Returns False if there is no run.""" + ts = _texts(el) if not ts: - raise ValueError("cell has no run text node to set") + return False ts[0].text = text # xml:space=preserve guards against trimming ts[0].set("{http://www.w3.org/XML/1998/namespace}space", "preserve") for extra in ts[1:]: extra.text = "" + return True + + +def set_cell_text(tc, text): + # NOTE: updates the cell's *display text* only. If the cell wraps a + # , the link target lives in word/_rels/document.xml.rels (by + # r:id) and is NOT changed here — the visible text and the click target can + # diverge. Fine for plain-text cells; document this where hyperlinks matter. + if not _set_runs_text(tc, text): + raise ValueError("cell has no run text node to set") + + +def set_para_text(p, text): + """Set a paragraph's text (first run), preserving its formatting. Returns + False if the paragraph has no run to write into.""" + return _set_runs_text(p, text) diff --git a/lib/aaif_meetups/tests/test_office.py b/lib/aaif_meetups/tests/test_office.py index 8aef3e1..3303d97 100644 --- a/lib/aaif_meetups/tests/test_office.py +++ b/lib/aaif_meetups/tests/test_office.py @@ -43,3 +43,25 @@ def test_set_cell_text_roundtrips(self): value_cell = office.cells(office.rows(detail)[0])[1] office.set_cell_text(value_cell, "New Night · Test Series") self.assertEqual(office.cell_text(value_cell), "New Night · Test Series") + + +class TestSaveFidelity(unittest.TestCase): + def test_save_preserves_namespace_prefixes(self): + import re + import zipfile + root = office.read_document(FIX) + with tempfile.TemporaryDirectory() as d: + out = os.path.join(d, "o.docx") + office.save_document(FIX, root, out) + xml = zipfile.ZipFile(out).read("word/document.xml").decode("utf8", "ignore") + # no auto-generated ns0:/ns1:/ns2: prefixes; r:id relationship refs intact + self.assertEqual(re.findall(r"\bns\d+:", xml), []) + self.assertIn("r:id=", xml) + + +class TestSetCellTextEmpty(unittest.TestCase): + def test_raises_when_cell_has_no_run(self): + from xml.etree import ElementTree as ET + tc = ET.fromstring('' % office.NS) + with self.assertRaises(ValueError): + office.set_cell_text(tc, "x") diff --git a/lib/aaif_meetups/tests/test_tracker.py b/lib/aaif_meetups/tests/test_tracker.py index ebdcee1..3b68755 100644 --- a/lib/aaif_meetups/tests/test_tracker.py +++ b/lib/aaif_meetups/tests/test_tracker.py @@ -5,6 +5,7 @@ from aaif_meetups import office, tracker FIX = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_irl.docx") +FIX_ONLINE = os.path.join(os.path.dirname(__file__), "fixtures", "event_tracker_online.docx") class TestDates(unittest.TestCase): @@ -45,7 +46,7 @@ def test_read_event_details_and_tasks(self): ev = tracker.read_event(self.root, "Agentic AI Night") self.assertEqual(ev["details"]["DATE & TIME"], "Tue · June 24, 2026 · 17:30 — late") self.assertEqual(ev["date"], dt.date(2026, 6, 24)) - self.assertEqual(ev["phases"][0]["tasks"][0]["status"], "Done") + self.assertEqual(ev["phases"][0]["tasks"][0].status, "Done") def test_read_event_next(self): ev = tracker.read_event(self.root, "next") @@ -66,9 +67,9 @@ def test_set_due_dates_shifts_two_weeks(self): changed = tracker.set_due_dates(self.root, "Agentic AI Night", dt.date(2026, 7, 8)) self.assertGreater(changed, 0) ev = tracker.read_event(self.root, "Agentic AI Night") - self.assertEqual(ev["phases"][0]["tasks"][0]["due"], "Jun 10") + self.assertEqual(ev["phases"][0]["tasks"][0].due, "Jun 10") # day-of clock times unchanged - dayof = ev["phases"][5]["tasks"][0]["due"] + dayof = ev["phases"][5]["tasks"][0].due self.assertRegex(dayof, r"^\d{1,2}:\d{2}$") @@ -88,10 +89,10 @@ def test_add_event_appends_section(self): new = tracker.read_event(self.root, "Eval Night") self.assertEqual(new["details"]["EVENT TITLE"], "Eval Night · Builder Series") # statuses reset - self.assertTrue(all(t["status"] == "Not started" + self.assertTrue(all(t.status == "Not started" for ph in new["phases"] for t in ph["tasks"])) # dates restamped to the new event date (4-wks-out is ~28 days before Aug 12) - self.assertNotEqual(new["phases"][0]["tasks"][0]["due"], "May 27") + self.assertNotEqual(new["phases"][0]["tasks"][0].due, "May 27") # the appended section survives a save -> reload (no corruption) import tempfile with tempfile.TemporaryDirectory() as dd: @@ -99,3 +100,87 @@ def test_add_event_appends_section(self): office.save_document(FIX, self.root, out) reloaded = office.read_document(out) self.assertEqual(len(tracker.list_events(reloaded)), before + 1) + + +def _two_event_root(): + """The IRL fixture plus a second event titled exactly 'AI Night'.""" + root = office.read_document(FIX) + tracker.add_event(root, {"EVENT TITLE": "AI Night", + "DATE & TIME": "Wed · September 9, 2026 · 18:00 — late"}, + dt.date(2026, 9, 9)) + return root + + +class TestSelection(unittest.TestCase): + def test_exact_match_beats_substring(self): + # 'AI Night' is a substring of 'Agentic AI Night · Launch Series', but an + # exact title match must win. + ev = tracker.read_event(_two_event_root(), "AI Night") + self.assertEqual(ev["details"]["EVENT TITLE"], "AI Night") + + def test_ambiguous_substring_raises(self): + # 'night' matches both titles -> must raise, never silently pick one. + with self.assertRaises(LookupError): + tracker.read_event(_two_event_root(), "night") + + def test_latest_picks_max_date(self): + ev = tracker.read_event(_two_event_root(), "latest") + self.assertEqual(ev["date"], dt.date(2026, 9, 9)) + + def test_unknown_event_raises(self): + with self.assertRaises(LookupError): + tracker.read_event(office.read_document(FIX), "no such event") + + +class TestDateEdges(unittest.TestCase): + def test_parse_event_date_requires_year(self): + with self.assertRaises(ValueError): + tracker.parse_event_date("January 15") + + def test_parse_due_crosses_year_boundary(self): + self.assertEqual(tracker.parse_due("Jan 2", dt.date(2025, 12, 28)), + dt.date(2026, 1, 2)) + self.assertEqual(tracker.parse_due("Dec 30", dt.date(2026, 1, 3)), + dt.date(2025, 12, 30)) + + def test_restamp_crosses_year_boundary(self): + self.assertEqual( + tracker.restamp("Dec 30", dt.date(2025, 12, 31), dt.date(2026, 1, 5)), + "Jan 4") + + +class TestWriteGuards(unittest.TestCase): + def test_set_field_missing_label_raises(self): + with self.assertRaises(LookupError): + tracker.set_field(office.read_document(FIX), "Agentic AI Night", + "NO SUCH LABEL", "x") + + def test_add_event_unmatched_label_raises(self): + # VENUE does not exist on the online tracker -> must raise, not drop silently. + root = office.read_document(FIX_ONLINE) + with self.assertRaises(LookupError): + tracker.add_event(root, {"EVENT TITLE": "X", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late", + "VENUE": "Nowhere"}, dt.date(2026, 8, 12)) + + +class TestAddEventHeading(unittest.TestCase): + def test_heading_rewritten_and_caption_dropped(self): + root = office.read_document(FIX) + tracker.add_event(root, {"EVENT TITLE": "Eval Night", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late"}, + dt.date(2026, 8, 12)) + paras = [office.para_text(p) for p in root.iter(office.W + "p")] + # new heading present (upper-cased title + new date) + self.assertTrue(any("EVAL NIGHT" in t and "August 12, 2026" in t for t in paras)) + # the example caption was NOT duplicated into the new section (still exactly one) + captions = [t for t in paras if "duplicate this whole section" in t.lower()] + self.assertEqual(len(captions), 1) + + +class TestOnlineFixture(unittest.TestCase): + def test_online_detail_labels(self): + ev = tracker.read_event(office.read_document(FIX_ONLINE), "Agentic AI Night") + self.assertIn("PLATFORM", ev["details"]) + self.assertIn("STREAM / JOIN LINK", ev["details"]) + self.assertNotIn("VENUE", ev["details"]) diff --git a/lib/aaif_meetups/tracker.py b/lib/aaif_meetups/tracker.py index 6aaa3a1..c82c591 100644 --- a/lib/aaif_meetups/tracker.py +++ b/lib/aaif_meetups/tracker.py @@ -3,9 +3,20 @@ import copy import datetime as dt import re +from dataclasses import dataclass from aaif_meetups import office + +@dataclass(frozen=True) +class Task: + """One phase-table row. Attribute access (not dict keys) so a typo'd field + raises AttributeError instead of silently returning a default.""" + task: str + owner: str + due: str + status: str + _MONTHS = {m: i for i, m in enumerate( ["", "jan", "feb", "mar", "apr", "may", "jun", "jul", "aug", "sep", "oct", "nov", "dec"])} @@ -19,10 +30,13 @@ def parse_event_date(text): m = _DATE_RE.search(text) if not m: raise ValueError("no month/day in event date: %r" % text) - month, day = _MONTHS[m.group(1)[:3].lower()], int(m.group(2)) ym = _YEAR_RE.search(text) - year = int(ym.group(1)) if ym else dt.date.today().year - return dt.date(year, month, day) + if not ym: + # A yearless date would otherwise default to the current year — often a + # date in the past — and silently shift every due-date backward. + raise ValueError("event date must include a 4-digit year: %r" % text) + month, day = _MONTHS[m.group(1)[:3].lower()], int(m.group(2)) + return dt.date(int(ym.group(1)), month, day) def parse_due(token, anchor): @@ -96,6 +110,10 @@ def list_events(root): def _select(events, event): + """Resolve an event ref. 'next'/'latest' pick by date; otherwise prefer an + exact (case-insensitive) title match, then a unique substring match. Raises + LookupError if a substring is ambiguous (matches 2+ titles) so a write never + silently lands on the wrong event.""" key = (event or "").strip().lower() dated = [e for e in events if e["date"]] if key == "next": @@ -106,31 +124,38 @@ def _select(events, event): return (future or sorted(dated, key=lambda e: e["date"]))[0] if key == "latest": return max(dated, key=lambda e: e["date"]) if dated else None - for e in events: - if key in e["title"].lower(): - return e - return None - - -def read_event(root, event): - events = list_events(root) - e = _select(events, event) - if e is None: - raise LookupError("no event matching %r" % event) + exact = [e for e in events if e["title"].strip().lower() == key] + if exact: + return exact[0] + partial = [e for e in events if key in e["title"].lower()] + if len(partial) > 1: + raise LookupError("event %r is ambiguous; matches: %s" + % (event, ", ".join(repr(e["title"]) for e in partial))) + return partial[0] if partial else None + + +def view_event(ref): + """Parse a list_events ref into a plain read model: details dict + phases of + Task objects. Takes the ref directly (no re-selection) so iterating + list_events never round-trips through an ambiguous title lookup.""" details = {} - for r in office.rows(e["detail_table"]): + for r in office.rows(ref["detail_table"]): cs = office.cells(r) if len(cs) >= 2: details[office.cell_text(cs[0])] = office.cell_text(cs[1]) phases = [] - for pt in e["phase_tables"]: + for pt in ref["phase_tables"]: tasks = [] for r in office.rows(pt)[1:]: cs = [office.cell_text(c) for c in office.cells(r)] cs += [""] * (4 - len(cs)) - tasks.append({"task": cs[0], "owner": cs[1], "due": cs[2], "status": cs[3]}) + tasks.append(Task(task=cs[0], owner=cs[1], due=cs[2], status=cs[3])) phases.append({"tasks": tasks}) - return {"title": e["title"], "details": details, "phases": phases, "date": e["date"]} + return {"title": ref["title"], "details": details, "phases": phases, "date": ref["date"]} + + +def read_event(root, event): + return view_event(_selected_or_raise(root, event)) def _selected_or_raise(root, event): @@ -198,6 +223,16 @@ def _body(root): return root.find(office.W + "body") +def _is_example_caption(text): + low = text.lower() + return "duplicate this whole section" in low or low.startswith("example event") + + +def _format_heading(event_date, title): + return "%s %d, %d · %s" % (event_date.strftime("%B"), event_date.day, + event_date.year, title.upper()) + + def add_event(root, fields, event_date): events = list_events(root) if not events: @@ -206,9 +241,12 @@ def add_event(root, fields, event_date): old_date = example["date"] body = _body(root) kids = list(body) - # span: the paragraph immediately before the detail table .. the last phase table detail_idx = kids.index(example["detail_table"]) - start = detail_idx - 1 if detail_idx > 0 and kids[detail_idx - 1].tag == office.W + "p" else detail_idx + # span: include the (up to 2) heading/caption paragraphs before the detail + # table — the date/title heading and the "Example event — duplicate…" caption. + start = detail_idx + while start - 1 >= 0 and kids[start - 1].tag == office.W + "p" and detail_idx - (start - 1) <= 2: + start -= 1 last = example["phase_tables"][-1] if example["phase_tables"] else example["detail_table"] end = kids.index(last) block = [copy.deepcopy(kids[i]) for i in range(start, end + 1)] @@ -217,11 +255,25 @@ def add_event(root, fields, event_date): if el.tag == office.W + "tbl" and is_detail_table(el)) new_phases = [el for el in block if el.tag == office.W + "tbl" and is_phase_table(el)] - for label, value in fields.items(): - _set_detail(new_detail, label, value) + missing = [label for label, value in fields.items() + if not _set_detail(new_detail, label, value)] + if missing: + raise LookupError("no detail row(s) labelled: %s " + "(this tracker's labels may differ — e.g. online uses " + "PLATFORM / STREAM / JOIN LINK, not VENUE / LOCATION)" + % ", ".join(repr(m) for m in missing)) if old_date is not None: _restamp_tables(new_detail, new_phases, old_date, event_date) _reset_status(new_phases) + # rewrite the heading to the new event; drop the stale example caption + detail_pos = block.index(new_detail) + title = fields.get("EVENT TITLE") + for para in [el for el in block[:detail_pos] if el.tag == office.W + "p"]: + text = office.para_text(para) + if _is_example_caption(text): + block.remove(para) + elif title and text: + office.set_para_text(para, _format_heading(event_date, title)) # insert before trailing sectPr if present, else at end sectpr = body.find(office.W + "sectPr") insert_at = kids.index(sectpr) if sectpr is not None else len(kids) diff --git a/skills/aaif-create-event/SKILL.md b/skills/aaif-create-event/SKILL.md index 568e28b..45bb67a 100644 --- a/skills/aaif-create-event/SKILL.md +++ b/skills/aaif-create-event/SKILL.md @@ -32,13 +32,23 @@ deterministic docx edit on a local file.** Prereq: `gws` installed and authentic 3. **Add the event (deterministic, local).** Aborts if the title already exists: ``` + # in-person (chapter) tracker python skills/aaif-create-event/scripts/create_event.py tracker.docx \ --title "Eval Night · Builder Series" \ --date "Wed · August 12, 2026 · 18:00 — late" \ - [--theme ...] [--venue ...] [--platform ...] [--speakers ...] \ + [--theme ...] [--venue ...] [--location ...] [--speakers ...] \ [--luma ...] [--capacity ...] [--organizer ...] [--dry-run] + + # online (series) tracker — use --platform / --join, NOT --venue / --location + python skills/aaif-create-event/scripts/create_event.py tracker.docx \ + --title "..." --date "..." [--platform "Zoom Webinar"] [--join "lu.ma/..."] ... ``` - Omitted fields keep the example's text for the organizer to fill later. + Flags must match the tracker's labels: a chapter tracker has `VENUE` / + `LOCATION / CITY`; a series tracker has `PLATFORM` / `STREAM / JOIN LINK`. Passing + a flag whose label doesn't exist in that tracker **aborts loudly** (it is not + silently dropped). Omitted fields keep the example's text for the organizer to + fill later. Note: `--luma` sets the displayed URL text only; the clickable Luma + link target (per chapter/series) is not rewritten here — set it on the Luma page. 4. **Upload it back:** diff --git a/skills/aaif-create-event/scripts/create_event.py b/skills/aaif-create-event/scripts/create_event.py index d30b476..eda8638 100755 --- a/skills/aaif-create-event/scripts/create_event.py +++ b/skills/aaif-create-event/scripts/create_event.py @@ -10,11 +10,14 @@ sys.path.insert(0, str(pathlib.Path(__file__).resolve().parents[3] / "lib")) from aaif_meetups import office, tracker # noqa: E402 -# CLI flag -> detail label +# CLI flag -> detail label. Note in-person trackers carry VENUE / LOCATION-CITY, +# online trackers carry PLATFORM / STREAM-JOIN-LINK — use the flags that match the +# tracker you downloaded; a flag whose label is absent now errors (not silently dropped). FIELD_MAP = {"title": "EVENT TITLE", "date": "DATE & TIME", "theme": "THEME / SERIES", - "venue": "VENUE", "platform": "VENUE", "speakers": "SPEAKER(S)", + "venue": "VENUE", "platform": "PLATFORM", "speakers": "SPEAKER(S)", "luma": "LUMA URL", "capacity": "CAPACITY / RSVPS", - "organizer": "ORGANIZER ON POINT", "location": "LOCATION / CITY"} + "organizer": "ORGANIZER ON POINT", "location": "LOCATION / CITY", + "join": "STREAM / JOIN LINK"} def apply_local(path, fields, event_date): @@ -37,7 +40,7 @@ def main(): ap.add_argument("docx", help="path to a tracker.docx already downloaded via gws") ap.add_argument("--title", required=True) ap.add_argument("--date", required=True, help='e.g. "Wed · August 12, 2026 · 18:00 — late"') - for f in ("theme", "venue", "platform", "speakers", "luma", "capacity", + for f in ("theme", "venue", "platform", "join", "speakers", "luma", "capacity", "organizer", "location"): ap.add_argument("--" + f) ap.add_argument("--dry-run", action="store_true") diff --git a/skills/aaif-create-event/scripts/test_create_event.py b/skills/aaif-create-event/scripts/test_create_event.py index 181f63b..52ea162 100644 --- a/skills/aaif-create-event/scripts/test_create_event.py +++ b/skills/aaif-create-event/scripts/test_create_event.py @@ -29,6 +29,18 @@ def test_apply_adds_event_to_local_docx(self): titles = [e["title"] for e in tracker.list_events(root)] self.assertIn("Eval Night", titles) + def test_bad_label_raises_not_silent(self): + # PLATFORM is absent on the IRL tracker -> must raise (no silent drop). + with tempfile.TemporaryDirectory() as d: + local = os.path.join(d, "t.docx") + shutil.copy(FIX, local) + with self.assertRaises(LookupError): + create_event.apply_local(local, { + "EVENT TITLE": "X", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late", + "PLATFORM": "Zoom", + }, dt.date(2026, 8, 12)) + if __name__ == "__main__": unittest.main() diff --git a/skills/aaif-event-status/scripts/event_status.py b/skills/aaif-event-status/scripts/event_status.py index 3d7c993..8c05a3d 100755 --- a/skills/aaif-event-status/scripts/event_status.py +++ b/skills/aaif-event-status/scripts/event_status.py @@ -17,8 +17,8 @@ def classify(tasks, anchor, today): overdue, due_soon = [], [] for t in tasks: - d = tracker.parse_due(t.get("due", ""), anchor) - if d is None or t.get("status") == "Done": + d = tracker.parse_due(t.due, anchor) + if d is None or t.status == "Done": continue if d < today: overdue.append(t) @@ -30,14 +30,17 @@ def classify(tasks, anchor, today): def _digest(ev, today): flat = [t for ph in ev["phases"] for t in ph["tasks"]] res = classify(flat, ev["date"] or today, today) - lines = ["", "== %s ==" % ev["title"], + header = "== %s ==" % ev["title"] + if ev["date"] is None: + header += " (! DATE & TIME did not parse — status anchored to today)" + lines = ["", header, "%d overdue, %d due within %d days" % (len(res["overdue"]), len(res["due_soon"]), DUE_SOON_DAYS)] for label in ("overdue", "due_soon"): if res[label]: lines.append(" %s:" % label.replace("_", "-")) - for t in sorted(res[label], key=lambda x: x.get("owner", "")): - lines.append(" [%s] %s (due %s)" % (t["owner"], t["task"], t["due"])) + for t in sorted(res[label], key=lambda x: x.owner): + lines.append(" [%s] %s (due %s)" % (t.owner, t.task, t.due)) return "\n".join(lines) @@ -47,13 +50,13 @@ def main(): ap.add_argument("event", nargs="?", help="optional event title filter; default all") a = ap.parse_args() root = office.read_document(a.docx) - events = tracker.list_events(root) + refs = tracker.list_events(root) if a.event: - events = [e for e in events if a.event.lower() in e["title"].lower()] + refs = [e for e in refs if a.event.lower() in e["title"].lower()] today = dt.date.today() - print("%s — %d event(s)" % (os.path.basename(a.docx), len(events))) - for e in events: - print(_digest(tracker.read_event(root, e["title"]), today)) + print("%s — %d event(s)" % (os.path.basename(a.docx), len(refs))) + for ref in refs: + print(_digest(tracker.view_event(ref), today)) if __name__ == "__main__": diff --git a/skills/aaif-event-status/scripts/test_event_status.py b/skills/aaif-event-status/scripts/test_event_status.py index 065b423..8d0a1f9 100644 --- a/skills/aaif-event-status/scripts/test_event_status.py +++ b/skills/aaif-event-status/scripts/test_event_status.py @@ -7,21 +7,22 @@ "..", "..", "..", "lib"))) sys.path.insert(0, os.path.dirname(__file__)) import event_status # noqa: E402 +from aaif_meetups.tracker import Task # noqa: E402 class TestClassify(unittest.TestCase): def test_overdue_and_due_soon(self): today = dt.date(2026, 6, 10) tasks = [ - {"task": "A", "owner": "Org", "due": "Jun 3", "status": "Not started"}, # overdue - {"task": "B", "owner": "Org", "due": "Jun 12", "status": "Not started"}, # due soon - {"task": "C", "owner": "Org", "due": "Jun 3", "status": "Done"}, # done -> ignore - {"task": "D", "owner": "Co", "due": "16:00", "status": "Not started"}, # clock -> ignore + Task("A", "Org", "Jun 3", "Not started"), # overdue + Task("B", "Org", "Jun 12", "Not started"), # due soon + Task("C", "Org", "Jun 3", "Done"), # done -> ignore + Task("D", "Co", "16:00", "Not started"), # clock -> ignore ] anchor = dt.date(2026, 6, 24) res = event_status.classify(tasks, anchor, today) - self.assertEqual([t["task"] for t in res["overdue"]], ["A"]) - self.assertEqual([t["task"] for t in res["due_soon"]], ["B"]) + self.assertEqual([t.task for t in res["overdue"]], ["A"]) + self.assertEqual([t.task for t in res["due_soon"]], ["B"]) if __name__ == "__main__": diff --git a/skills/aaif-update-event/SKILL.md b/skills/aaif-update-event/SKILL.md index b167176..1ae2b4b 100644 --- a/skills/aaif-update-event/SKILL.md +++ b/skills/aaif-update-event/SKILL.md @@ -37,9 +37,17 @@ deterministic docx edit on a local file.** Prereq: `gws` installed and authentic python skills/aaif-update-event/scripts/update_event.py tracker.docx "Agentic AI Night" \ --date "Wed · July 8, 2026 · 17:30 — late" ``` - The event argument matches a case-insensitive title substring, or `next` / `latest`. - Detail labels: EVENT TITLE, DATE & TIME, LOCATION / CITY, VENUE, THEME / SERIES, - FORMAT(S), SPEAKER(S), LUMA URL, CAPACITY / RSVPS, ORGANIZER ON POINT. + The event argument matches an **exact** (case-insensitive) title first, then a + unique substring; an ambiguous substring (2+ matching titles) errors rather than + guessing. You can also pass `next` / `latest`. + + Detail labels depend on the tracker type: + - **chapter (in-person):** EVENT TITLE, DATE & TIME, LOCATION / CITY, VENUE, + THEME / SERIES, FORMAT(S), SPEAKER(S), LUMA URL, CAPACITY / RSVPS, ORGANIZER ON POINT. + - **series (online):** same, but `PLATFORM` and `STREAM / JOIN LINK` replace + `LOCATION / CITY` and `VENUE`. + + `--set` with a label absent from that tracker raises an error (it won't silently no-op). 3. **Upload it back:** diff --git a/skills/aaif-update-event/scripts/test_update_event.py b/skills/aaif-update-event/scripts/test_update_event.py index 6765d1a..9553e84 100644 --- a/skills/aaif-update-event/scripts/test_update_event.py +++ b/skills/aaif-update-event/scripts/test_update_event.py @@ -30,11 +30,22 @@ def test_date_move_restamps_using_original_date(self): stale = update_event.apply_changes( self.root, "Agentic AI Night", [], "Wed · July 8, 2026 · 17:30 — late") ev = tracker.read_event(self.root, "Agentic AI Night") - self.assertEqual(ev["phases"][0]["tasks"][0]["due"], "Jun 10") + self.assertEqual(ev["phases"][0]["tasks"][0].due, "Jun 10") self.assertEqual(ev["details"]["DATE & TIME"], "Wed · July 8, 2026 · 17:30 — late") self.assertEqual(ev["date"], dt.date(2026, 7, 8)) self.assertIn("square banner", stale) + def test_set_and_date_together(self): + stale = update_event.apply_changes( + self.root, "Agentic AI Night", + ["SPEAKER(S)=Jane Doe"], "Wed · July 8, 2026 · 17:30 — late") + ev = tracker.read_event(self.root, "Agentic AI Night") + self.assertEqual(ev["details"]["SPEAKER(S)"], "Jane Doe") + self.assertEqual(ev["phases"][0]["tasks"][0].due, "Jun 10") + # stale set is the union of speaker- and date-driven assets + self.assertIn("speaker bio", stale) + self.assertIn("Luma cover", stale) + if __name__ == "__main__": unittest.main() From be27df29c7d34342a2ee22ef548d3eb9cbf3d681 Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Tue, 30 Jun 2026 22:29:55 +0530 Subject: [PATCH 17/18] fix: address PR review feedback (Copilot) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - create_event dedup guard now uses an exact case-insensitive title match (was substring; 'Eval Night' wrongly matched 'Eval Night · Builder Series'). Extracted title_exists() and covered it with a test. - update_event --set now rejects a value without '=' with a clear error instead of silently clearing a field / raising an opaque LookupError. - All three new SKILL.md files invoke scripts via ${CLAUDE_SKILL_DIR}/scripts/... per CONTRIBUTING.md, so they work when installed outside the repo checkout. Co-Authored-By: Claude Opus 4.8 --- skills/aaif-create-event/SKILL.md | 4 ++-- skills/aaif-create-event/scripts/create_event.py | 9 ++++++++- skills/aaif-create-event/scripts/test_create_event.py | 10 ++++++++++ skills/aaif-event-status/SKILL.md | 2 +- skills/aaif-update-event/SKILL.md | 4 ++-- skills/aaif-update-event/scripts/test_update_event.py | 4 ++++ skills/aaif-update-event/scripts/update_event.py | 2 ++ 7 files changed, 29 insertions(+), 6 deletions(-) diff --git a/skills/aaif-create-event/SKILL.md b/skills/aaif-create-event/SKILL.md index 45bb67a..40fcc9f 100644 --- a/skills/aaif-create-event/SKILL.md +++ b/skills/aaif-create-event/SKILL.md @@ -33,14 +33,14 @@ deterministic docx edit on a local file.** Prereq: `gws` installed and authentic ``` # in-person (chapter) tracker - python skills/aaif-create-event/scripts/create_event.py tracker.docx \ + python3 ${CLAUDE_SKILL_DIR}/scripts/create_event.py tracker.docx \ --title "Eval Night · Builder Series" \ --date "Wed · August 12, 2026 · 18:00 — late" \ [--theme ...] [--venue ...] [--location ...] [--speakers ...] \ [--luma ...] [--capacity ...] [--organizer ...] [--dry-run] # online (series) tracker — use --platform / --join, NOT --venue / --location - python skills/aaif-create-event/scripts/create_event.py tracker.docx \ + python3 ${CLAUDE_SKILL_DIR}/scripts/create_event.py tracker.docx \ --title "..." --date "..." [--platform "Zoom Webinar"] [--join "lu.ma/..."] ... ``` Flags must match the tracker's labels: a chapter tracker has `VENUE` / diff --git a/skills/aaif-create-event/scripts/create_event.py b/skills/aaif-create-event/scripts/create_event.py index eda8638..54db574 100755 --- a/skills/aaif-create-event/scripts/create_event.py +++ b/skills/aaif-create-event/scripts/create_event.py @@ -20,6 +20,13 @@ "join": "STREAM / JOIN LINK"} +def title_exists(root, title): + """True if an event with this EXACT title (case-insensitive) already exists. + Exact, not substring — so 'Eval Night' does not match 'Eval Night · Series'.""" + key = title.strip().lower() + return any(key == e["title"].strip().lower() for e in tracker.list_events(root)) + + def apply_local(path, fields, event_date): root = office.read_document(path) tracker.add_event(root, fields, event_date) @@ -49,7 +56,7 @@ def main(): event_date = tracker.parse_event_date(a.date) fields = _fields_from_args(a) root = office.read_document(a.docx) - if any(a.title.lower() in e["title"].lower() for e in tracker.list_events(root)): + if title_exists(root, a.title): sys.exit("ABORT: an event titled %r already exists in %s." % (a.title, a.docx)) print("Event: %s date: %s (fields set: %s)" % (a.title, event_date, ", ".join(sorted(fields)) or "title/date only")) diff --git a/skills/aaif-create-event/scripts/test_create_event.py b/skills/aaif-create-event/scripts/test_create_event.py index 52ea162..d0a1942 100644 --- a/skills/aaif-create-event/scripts/test_create_event.py +++ b/skills/aaif-create-event/scripts/test_create_event.py @@ -41,6 +41,16 @@ def test_bad_label_raises_not_silent(self): "PLATFORM": "Zoom", }, dt.date(2026, 8, 12)) + def test_title_exists_is_exact_not_substring(self): + root = office.read_document(FIX) + tracker.add_event(root, { + "EVENT TITLE": "Eval Night · Builder Series", + "DATE & TIME": "Wed · August 12, 2026 · 18:00 — late", + }, dt.date(2026, 8, 12)) + # exact existing title -> exists; a distinct shorter title -> does not + self.assertTrue(create_event.title_exists(root, "Eval Night · Builder Series")) + self.assertFalse(create_event.title_exists(root, "Eval Night")) + if __name__ == "__main__": unittest.main() diff --git a/skills/aaif-event-status/SKILL.md b/skills/aaif-event-status/SKILL.md index 5195286..e9321c5 100644 --- a/skills/aaif-event-status/SKILL.md +++ b/skills/aaif-event-status/SKILL.md @@ -36,7 +36,7 @@ deterministic parsing of a local file.** Prereq: `gws` installed and authenticat 3. **Run the digest** (read-only, local): ``` - python skills/aaif-event-status/scripts/event_status.py tracker.docx ["event"] + python3 ${CLAUDE_SKILL_DIR}/scripts/event_status.py tracker.docx ["event"] ``` Status is computed against today from each task's DUE cell; clock-time day-of tasks and diff --git a/skills/aaif-update-event/SKILL.md b/skills/aaif-update-event/SKILL.md index 1ae2b4b..80e87cb 100644 --- a/skills/aaif-update-event/SKILL.md +++ b/skills/aaif-update-event/SKILL.md @@ -30,11 +30,11 @@ deterministic docx edit on a local file.** Prereq: `gws` installed and authentic ``` # add/replace a speaker - python skills/aaif-update-event/scripts/update_event.py tracker.docx "Agentic AI Night" \ + python3 ${CLAUDE_SKILL_DIR}/scripts/update_event.py tracker.docx "Agentic AI Night" \ --set "SPEAKER(S)=Jane Doe (Agent Infra)" # move the date (recomputes all due-dates from the original date) - python skills/aaif-update-event/scripts/update_event.py tracker.docx "Agentic AI Night" \ + python3 ${CLAUDE_SKILL_DIR}/scripts/update_event.py tracker.docx "Agentic AI Night" \ --date "Wed · July 8, 2026 · 17:30 — late" ``` The event argument matches an **exact** (case-insensitive) title first, then a diff --git a/skills/aaif-update-event/scripts/test_update_event.py b/skills/aaif-update-event/scripts/test_update_event.py index 9553e84..129b6b7 100644 --- a/skills/aaif-update-event/scripts/test_update_event.py +++ b/skills/aaif-update-event/scripts/test_update_event.py @@ -46,6 +46,10 @@ def test_set_and_date_together(self): self.assertIn("speaker bio", stale) self.assertIn("Luma cover", stale) + def test_set_without_equals_raises(self): + with self.assertRaises(ValueError): + update_event.apply_changes(self.root, "Agentic AI Night", ["SPEAKER(S)"], None) + if __name__ == "__main__": unittest.main() diff --git a/skills/aaif-update-event/scripts/update_event.py b/skills/aaif-update-event/scripts/update_event.py index 6b27db0..8abd033 100755 --- a/skills/aaif-update-event/scripts/update_event.py +++ b/skills/aaif-update-event/scripts/update_event.py @@ -20,6 +20,8 @@ def apply_changes(root, event, set_pairs, date_str): then write the authoritative new DATE & TIME string. Returns the stale-asset set.""" stale = set() for pair in set_pairs: + if "=" not in pair: + raise ValueError("--set must be LABEL=VALUE (got %r)" % pair) label, _, value = pair.partition("=") tracker.set_field(root, event, label.strip(), value.strip()) if "SPEAKER" in label.upper(): From 6d5e57c153ac31ae3c9f10bc5bb15c0c1afbb94a Mon Sep 17 00:00:00 2001 From: Rahul Parundekar Date: Wed, 1 Jul 2026 00:07:33 +0530 Subject: [PATCH 18/18] feat: add Code of Conduct + Privacy Policy as default attendee links Add LF Code of Conduct and Privacy Policy as standard footers in the Luma description, attendee reminder, and announcement skills. Co-Authored-By: Claude Opus 4.8 --- skills/aaif-announcement-post/SKILL.md | 8 ++++++++ skills/aaif-attendee-reminder/SKILL.md | 10 ++++++++++ skills/aaif-luma-description/SKILL.md | 11 +++++++++++ 3 files changed, 29 insertions(+) diff --git a/skills/aaif-announcement-post/SKILL.md b/skills/aaif-announcement-post/SKILL.md index ea3a3f1..947957a 100644 --- a/skills/aaif-announcement-post/SKILL.md +++ b/skills/aaif-announcement-post/SKILL.md @@ -14,6 +14,11 @@ The launch post for when RSVPs open. Structure: **one-line hook**, the builder-to-builder. Signal, not numbers. The RSVP line MUST be a Luma link. Edit the draft before it ships. +**Standard footer (always include).** Below the RSVP/hashtag block, add one quiet +line with the two standing AAIF attendee links (defaults on every announcement): +Code of Conduct (events.linuxfoundation.org/about/code-of-conduct) and Privacy +Policy (linuxfoundation.org/legal/privacy-policy). + ## Input (from the event tracker) - Chapter : `[CHAPTER]` - Event : `[EVENT TITLE] ([SERIES])` @@ -40,3 +45,6 @@ Agentic AI Night: > > RSVP → lu.ma/aaif-sanfrancisco > #AgenticAI #MCP +> +> Code of Conduct: events.linuxfoundation.org/about/code-of-conduct · Privacy: +> linuxfoundation.org/legal/privacy-policy diff --git a/skills/aaif-attendee-reminder/SKILL.md b/skills/aaif-attendee-reminder/SKILL.md index dad6b14..aacef43 100644 --- a/skills/aaif-attendee-reminder/SKILL.md +++ b/skills/aaif-attendee-reminder/SKILL.md @@ -12,6 +12,13 @@ by asking them to update their RSVP if plans change** so the seat can be release **House voice:** warm, concrete, builder-to-builder. Signal, not numbers. +**Standard footer (always include).** After the RSVP line, append one quiet line +with the two standing AAIF attendee links (defaults on every reminder), e.g. +*"Reminder: our Code of Conduct +(events.linuxfoundation.org/about/code-of-conduct) and Privacy Policy +(linuxfoundation.org/legal/privacy-policy) apply."* This sits outside the ~70-word +body count. + ## Input (from the event tracker) - Event : `[EVENT TITLE]` When: `[DATE], doors [TIME]` - Venue : `[VENUE / ENTRY NOTES]` Speaker: `[SPEAKER + TOPIC]` @@ -24,3 +31,6 @@ Agentic AI Night: > Chen opens with tool calling at 10M requests a day, then three quick community > demos. If your plans change, please update your RSVP so we can pass your seat to > the waitlist. See you there. +> +> Reminder: our Code of Conduct (events.linuxfoundation.org/about/code-of-conduct) +> and Privacy Policy (linuxfoundation.org/legal/privacy-policy) apply. diff --git a/skills/aaif-luma-description/SKILL.md b/skills/aaif-luma-description/SKILL.md index 9ccfade..6fb6af3 100644 --- a/skills/aaif-luma-description/SKILL.md +++ b/skills/aaif-luma-description/SKILL.md @@ -14,6 +14,13 @@ and builder-first.** **House voice:** share the practice, never sell the product. Specific over grand, builder-to-builder. Signal, not numbers. +**Standard footer (always include).** Close with the two standing AAIF attendee +links — these are defaults on every event page: +- Code of Conduct — https://events.linuxfoundation.org/about/code-of-conduct/ +- Privacy Policy — https://www.linuxfoundation.org/legal/privacy-policy + +One quiet line is enough; it sits below the vendor-neutral line, not in the body. + ## Input (from the event tracker) - Event : `[EVENT TITLE] ([SERIES]) — [THEME]` - When : `[DATE & TIME]` Where: `[VENUE / CITY]` @@ -37,3 +44,7 @@ Agentic AI Night: > > AAIF events are vendor-neutral and builder-first: no paid slots, no pitches. > Curated, RSVP-based — signal, not numbers. +> +> By attending you agree to our Code of Conduct +> (events.linuxfoundation.org/about/code-of-conduct) and Privacy Policy +> (linuxfoundation.org/legal/privacy-policy).