The work breakdown for every project - one row per task, its owner, estimate and status. About this list · Site contents
ContentType.ProjectTask
Lineage: ContentType.Item -> ContentType.ProjectTaskPMO.4 - The pmo seat runs unattended - watch its first week!New... |
2026-10-03T20:58:10.4911466+00:00 | claude-code | PMO.4 | PMO | pmo seat runs unattended | 2026-10-10 | 2 | In Progress | Since 2026-10-03 23:00 the pmo seat runs on this PC from the Startup folder (SPICE-PMO.cmd -> tools/spice-worker/run-seat.ps1), Ollama qwen3-coder on .69, polling every 5 minutes; log %TEMP%/spice-worker-pmo.log. Give it work by assigning a ProjectTask to pmo. Watch: Deferred tasks (review them), partial jobs (PMO.3 commented 4 of its overbooked days), TPL.35 parked Waiting (too big for this runtime). Later: a Windows service or the .69 sandbox (needs admin / the steward); DeepSeek for heavier jobs. | claude-code (seat) | (claude-code, 2026-10-03 22:23 UTC) (claude-code, 2026-10-04) Scoped: pmo writes on Projects only (proven as the seat), read elsewhere, tools allow-listed. Model confirmed by the operator: qwen3-coder:30b-aw on Ollama .69. | 2026-10-03T22:23:29.7395086 | ||||||
CTX.5 - Deferred tool definitions at the MCP door!New... |
2026-10-03T20:15:12.3417481+00:00 | claude-code | CTX.5 | CTX | Deferred tool definitions at the MCP door | 2026-10-20 | 6 | Not Started | Operator 2026-10-03: a total diff view for agents - concise, nothing shown twice, pretrained terms, compressed. Scout: ResearchEnrichment research (context engineering) - JetBrains observation masking (half cost, same quality), Anthropic context editing (-84%) and tool search (-85%, higher accuracy), CSV vs JSON (1/3), TOON, read-dedup pitfalls (stub must say where; hash on content). Baseline from the copilot footer: web question 17,285 tokens, add 4,400. The door lists 125 tools to every seat. Serve core tools plus tool_search; the rest load on demand (the published 85% saving). Screen accuracy with tools/llm-toolcall-probe.py before and after. | claude-code (seat) | 2026-10-03T20:15:12.3426964 | |||||||
CTX.4 - Compact results: tables, ids first, full text on demand!New... |
2026-10-03T20:15:12.3009009+00:00 | claude-code | CTX.4 | CTX | Compact results: tables, ids first, full text on demand | 2026-10-12 | 4 | Not Started | Operator 2026-10-03: a total diff view for agents - concise, nothing shown twice, pretrained terms, compressed. Scout: ResearchEnrichment research (context engineering) - JetBrains observation masking (half cost, same quality), Anthropic context editing (-84%) and tool search (-85%, higher accuracy), CSV vs JSON (1/3), TOON, read-dedup pitfalls (stub must say where; hash on content). Baseline from the copilot footer: web question 17,285 tokens, add 4,400. SearchRows, ReadNodes, site/list tools and web search return a header-once table (ids, titles), top-k; detail via ReadNodes / WebFetch; web_fetch default 3,000 chars. Narrative stays key:value. | claude-code (seat) | 2026-10-03T20:15:12.3017109 | |||||||
CTX.3 - Change log for agents: GetChanges since a ChangeToken!New... |
2026-10-03T20:15:12.2243825+00:00 | claude-code | CTX.3 | CTX | Change log for agents: GetChanges since a ChangeToken | 2026-10-15 | 6 | Not Started | Operator 2026-10-03: a total diff view for agents - concise, nothing shown twice, pretrained terms, compressed. Scout: ResearchEnrichment research (context engineering) - JetBrains observation masking (half cost, same quality), Anthropic context editing (-84%) and tool search (-85%, higher accuracy), CSV vs JSON (1/3), TOON, read-dedup pitfalls (stub must say where; hash on content). Baseline from the copilot footer: web question 17,285 tokens, add 4,400. SharePoint's change log as the diff view: query_my_tasks / query_my_context accept since=<ChangeToken>; a seat's briefing opens with what changed since its last session, not everything again. Measure tokens per briefing before and after. | claude-code (seat) | 2026-10-03T20:15:12.2250815 | |||||||
CTX.2 - Read dedup within an answer, keyed on content hash!New... |
2026-10-03T20:15:12.1668325+00:00 | claude-code | CTX.2 | CTX | Read dedup within an answer, keyed on content hash | 2026-10-08 | 3 | Not Started | Operator 2026-10-03: a total diff view for agents - concise, nothing shown twice, pretrained terms, compressed. Scout: ResearchEnrichment research (context engineering) - JetBrains observation masking (half cost, same quality), Anthropic context editing (-84%) and tool search (-85%, higher accuracy), CSV vs JSON (1/3), TOON, read-dedup pitfalls (stub must say where; hash on content). Baseline from the copilot footer: web question 17,285 tokens, add 4,400. Same node, row or URL inside one answer returns [unchanged since turn N - <where>] when its content hash matches; any change returns the full content. Extends BRAINSTORM.29 (identical read-only calls). | claude-code (seat) | 2026-10-03T20:15:12.1678793 | |||||||
CTX.1 - Observation masking in the tool loop!New... |
2026-10-03T20:15:12.1182731+00:00 | claude-code | CTX.1 | CTX | Observation masking in the tool loop | 2026-10-08 | 5 | Not Started | Operator 2026-10-03: a total diff view for agents - concise, nothing shown twice, pretrained terms, compressed. Scout: ResearchEnrichment research (context engineering) - JetBrains observation masking (half cost, same quality), Anthropic context editing (-84%) and tool search (-85%, higher accuracy), CSV vs JSON (1/3), TOON, read-dedup pitfalls (stub must say where; hash on content). Baseline from the copilot footer: web question 17,285 tokens, add 4,400. Tool results older than the last 3 become a one-line stub (tool, turn, title/id, size - shown earlier); a needed fact is fetched again by id. In the chat loop and the phase ToolLoop. Target: the copilot web question under 6,000 tokens with the same answer. | claude-code (seat) | 2026-10-03T20:15:12.1193383 | |||||||
GOV.16 - Rules once, referenced everywhere: skills and briefings point to the governance pages!New... |
2026-10-03T19:03:22.1580708+00:00 | claude-code | GOV.16 | GOV | Rules once, referenced everywhere | 2026-10-13 | 4 | Not Started | Operator 2026-10-03: generate skills from it so the same info is not everywhere. Deliver: Skill.FollowGovernance (and the seats' and Genesis' briefings) carry a knowledge slot / Query.GovernancePages pointer to the Governance pages (Manifesto, When to use what, Glossary), never the rule text (STAFF.1 progressive disclosure); audit the copies - KB articles, procedure text, part descriptions, the claude-code memory files, skills - and replace each restated rule with a pointer to its page. Measure: one rule edited on the page reaches a seat's next briefing with no other edit. | claude-code (seat) | 2026-10-03T19:03:22.1591988 | |||||||
TPL.36 - Import the standard intranet: PnP provisioning templates through Workflow.SiteKit!New... |
2026-10-03T19:00:30.7728982+00:00 | claude-code | TPL.36 | TPL | Import the standard intranet (PnP templates) | 2026-10-16 | 6 | Not Started | Operator 2026-10-03: as much as possible the SharePoint way; intranet things that exist, just import. Scout the PnP originals (SharePoint Look Book, PnP Starter Kit / provisioning templates: news, events, FAQ, people directory, policies and procedures, onboarding, department sites, company home), download them, and import each through Workflow.SiteKit (PnP template to a delta parked for approval). Build only the SPICE difference. Feeds TPL.35 (jumpstart site) and GEN.5 (agency site): their standard parts come from these imports. | claude-code (seat) | 2026-10-03T19:00:30.7735467 | |||||||
GOV.15 - Site metadata and a duplicate check: purpose, owner, lifecycle on every site!New... |
2026-10-03T18:57:57.4260854+00:00 | claude-code | GOV.15 | GOV | Site metadata and duplicate check | 2026-10-12 | 5 | Not Started | Operator 2026-10-03: we should have metadata of a site's purpose, and a glossary, to prevent wild growth and duplication. Today a site has a free-text Description only (73 of them). Deliver (SharePoint shape: site properties shown on the Site Directory / Sites map): SitePurpose (choice: Hub, Team, Project, Agency, MySite, Demo), SiteOwner (a person or seat), Lifecycle (Active, Archived), backfilled on all sites; AddSiteBlueprint requires purpose and owner and refuses a new site whose purpose sentence and type match an existing site (point to it instead); Genesis checks the catalog and the agencies first (When to use what page, Governance hub). The Sites map filters by purpose and lifecycle. | claude-code (seat) | (claude-code, 2026-10-03 19:03 UTC) (claude-code, 2026-10-03) Operator: templates and instances carry this data, rolled up in governance. Add: a SiteTemplate declares its purpose type, owner role, lifecycle default and version; a site created from it stamps SitePurpose, SiteOwner, Lifecycle, TemplateId, TemplateVersion; the Governance hub gets a Sites roll-up (Content Search web part over the site properties) with flags - no owner, duplicate purpose, archived but active, outdated template version. | 2026-10-03T19:03:21.8337394 | ||||||
GEN.5 - The Agency site template: what an agency is, on its site!New... |
2026-10-03T18:53:59.9023550+00:00 | claude-code | GEN.5 | GEN | Agency site template | 2026-10-09 | 6 | Not Started | Operator 2026-10-03: it should be well defined in the template what an agency does and how it differs from other sites. Today SiteTemplate.MissionDivision holds only Digest and Actions; the definition lives in the Agency part. Deliver the agency site (only what differs from a team site): a Charter page (mission, what it does and does NOT do, one success criterion), Services (its catalog rows, published on the agent card), a work queue (requests dispatched to it, STAFF.2), a Runbook (its workflows and procedures = its M.O.), Crew (members, roles, RACI, fallback seat), a Deliverables library, a Scorecard (the success criterion measured) and Lessons. Default content by a stapled Feature (TPL.34). Genesis (GEN.3) fills it for a new agency; the four core agencies get it on approval. | claude-code (seat) | (pmo, 2026-10-03 20:56 UTC) (pmo, 2026-10-04) 2026-10-09 is booked 12h against 6h - candidate to move. | 2026-10-03T20:56:44.6897934 | ||||||
GEN.4 - Toolmaker: new tools as reviewed scripts that run in the worker's Docker sandbox!New... |
2026-10-03T18:46:46.2089534+00:00 | claude-code | GEN.4 | GEN | Toolmaker: new tools as reviewed scripts that run in the worker's Docker sandbox | 2026-10-14 | 10 | Not Started | Operator asked: is there a toolmaker, can it run on a Docker VM, do we need an open terminal? Answer: no shell on the SPICE host. The spice-worker already runs in a Docker sandbox on .69 with network allowlisted to SPICE and its model. Deliver: a ToolScript part (script + inputs + allowed hosts) authored by Genesis' PartSmith, parked for approval, run by the worker inside its sandbox as a tool (tool_run_script), output back through MCP. Scout first: Agency Swarm ToolCreator, CrewAI custom tools, MCP code sandboxes. | claude-code (seat) | (pmo, 2026-10-03 20:56 UTC) (pmo, 2026-10-04) 2026-10-14 is booked 18h against 6h - candidate to move. | 2026-10-03T20:56:44.7274462 | ||||||
GEN.3 - Genesis builds real crews and tools, not empty divisions!New... |
2026-10-03T18:46:46.1501016+00:00 | claude-code | GEN.3 | GEN | Genesis builds real crews and tools, not empty divisions | 2026-10-08 | 8 | Not Started | Today Phase.GenesisCreateCrew may only attach crew Features that already exist, so LessonDesk and CatalogConformanceDesk got a site and the generic Feature.AgencyBasics, while GenesisCreateParts' skills and tools are listed and never created. Deliver: the delta also carries AddActorProfile, AddSkill, AddPhase, AddWorkflow, AddFeature for the new crew (the doors exist), validated, parked as ONE approval; a tool that is new code is a GEN.4 request, not a fake part. Check the two existing desks: fill or retire them. | claude-code (seat) | (pmo, 2026-10-03 20:56 UTC) (pmo, 2026-10-04) 2026-10-08 is booked 15h against 6h - candidate to move. | 2026-10-03T20:56:44.6642460 | ||||||
GEN.2 - Genesis asks before it designs: a questioning phase and a scope verdict!New... |
2026-10-03T18:46:46.0986883+00:00 | claude-code | GEN.2 | GEN | Genesis asks before it designs: a questioning phase and a scope verdict | 2026-10-07 | 5 | Not Started | Operator 2026-10-03 (made these, do they function?): Agency Swarm's GenesisCEO questions the requester until the mission is clear; SPICE's Phase.GenesisDesign designs straight from the request text. Deliver: a first Task step (TPL.17 durable task) that files the open questions to the requester as a Workflow Task and parks until answered; then a scope verdict (snippet / small project / full division, the intake modes) - only a full division continues to design. Measure on a real request. | claude-code (seat) | 2026-10-03T18:46:46.1016672 | |||||||
GEN.1 - Agency template gallery: Genesis starts from a proven agency (Agency Swarm, CrewAI) instead of from scratch!New... |
2026-10-03T18:42:24.2754562+00:00 | claude-code | GEN.1 | GEN | Agency template gallery for Genesis | 2026-10-06 | 6 | Not Started | Operator 2026-10-03: an agency site that makes other agencies, like Agency Swarm or CrewAI. It exists: Agency.Genesis on /sites/Genesis (design, approval, MissionDivision site + crew; built LessonDesk and CatalogConformanceDesk). Missing: templates to start from. Import as agency templates on a gallery (SharePoint Solution Gallery shape), each: purpose, crew by role (ActorProfile Goal/Backstory), comm graph, the workflow, the tools it needs: C:/Users/erike/ai/agency-swarm-lab (CodeGuardiansAgency, CodeSolutionAgency, MetaMarkAgency, OpenSourceSwarm, WebDevCrafters) and C:/Users/erike/ai/crewAI-examples (game-builder-crew, instagram_post, job-posting, landing_page_generator, markdown_validator, prep-for-a-meeting, screenplay_writer, stock_analysis, trip_planner, starter_template). Phase.GenesisDesign reads the gallery first and names the template it adapted. Import through the provisioning doors (AddAgency, AddActorProfile, AddWorkflow), parked for approval - not by hand. Then: a runtime for the built crews (STAFF.8, GOV.2) and direct routing of new-division requests (INTAKE.13). | claude-code (seat) | (pmo, 2026-10-03 20:56 UTC) (pmo, 2026-10-04) 2026-10-06 is booked 8h against 6h - candidate to move. | 2026-10-03T20:56:44.6230096 | ||||||
INFRA.8 - Term Store Management tool and document check-in/check-out!New... |
2026-10-03T18:03:18.1237615+00:00 | claude-code | INFRA.8 | INFRA | Term Store Management tool and document check-in/check-out | 2026-11-12 | 8 | Not Started | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 8 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Last in order; 8h on 11-10..11-12, inside the 11-15 limit. | 2026-10-03T18:06:13.5830089 | ||||||
INFRA.7 - Quotas and usage analytics per site collection!New... |
2026-10-03T18:03:18.1091839+00:00 | claude-code | INFRA.7 | INFRA | Quotas and usage analytics per site collection | 2026-11-10 | 6 | Not Started | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 7 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Seventh; 6h after the 11-05..11-09 booked rows. | 2026-10-03T18:06:13.2396903 | ||||||
INFRA.6 - Access requests and sharing: request access, approve, the requester added to the right group!New... |
2026-10-03T18:03:18.0934692+00:00 | claude-code | INFRA.6 | INFRA | Access requests and sharing: request access, approve, the requester added to the right group | 2026-11-06 | 6 | Not Started | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 6 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Sixth; 6h on the rest of 11-03 and 11-06. | 2026-10-03T18:06:12.8949690 | ||||||
INFRA.5 - Audit log report page, then holds and eDiscovery!New... |
2026-10-03T18:03:18.0087640+00:00 | claude-code | INFRA.5 | INFRA | Audit log report page, then holds and eDiscovery | 2026-11-03 | 8 | Not Started | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 5 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Fifth; 8h on free days 10-28 and 11-03. | 2026-10-03T18:06:12.5600827 | ||||||
INFRA.4 - Service applications: start, stop and configure from Central Administration!New... |
2026-10-03T18:03:17.9906785+00:00 | claude-code | INFRA.4 | INFRA | Service applications: start, stop and configure from Central Administration | 2026-10-23 | 5 | Not Started | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 4 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Fourth; 5h on free hours of 10-23, after INFRA.3. | 2026-10-03T18:06:12.2172570 | ||||||
INFRA.3 - Health Analyzer rules: disk, database, expired secrets, failing services - with Repair!New... |
2026-10-03T18:03:17.9731984+00:00 | claude-code | INFRA.3 | INFRA | Health Analyzer rules: disk, database, expired secrets, failing services - with Repair | 2026-10-23 | 6 | Not Started | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 3 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Third; 6h on the sparse days 10-13..10-23. | 2026-10-03T18:06:11.8478817 | ||||||
INFRA.2 - Timer job control: Run now, enable or disable, last result and error per job!New... |
2026-10-03T18:03:17.9457388+00:00 | claude-code | INFRA.2 | INFRA | Timer job control: Run now, enable or disable, last result and error per job | 2026-10-03 | 4 | Completed | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 2 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | 100 | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Built now per claude-code; 4h fits today. (claude-code, 2026-10-03 18:13 UTC) (claude-code, 2026-10-03) Shipped 11566ce, 4351/4351, verified live: Run now on Schedule.ContentOrganizerProcessing -> succeeded with its message on /board/schedule; Enable/Disable on the job's state row override Scope.Scheduler without a restart; anonymous LAN caller refused (403). Not done: a job history list (only the last run is kept; workflow runs are in Workflow History). | 2026-10-03T18:13:53.2505857 | |||||
INFRA.1 - Backup and restore in Central Administration: site and list backup, restore, export!New... |
2026-10-03T18:03:17.9025434+00:00 | claude-code | INFRA.1 | INFRA | Backup and restore in Central Administration: site and list backup, restore, export | 2026-10-13 | 8 | Not Started | Fit-gap 2026-10-03 (Wisdom: SPICE versus enterprise SharePoint infrastructure), rank 1 of 8 by value for a human operator. PMO: plan it (owner, date) in the next planning pass; build through the provisioning doors where data, by hand only for engine seams. | claude-code (seat) | (pmo, 2026-10-03 18:06 UTC) (pmo, 2026-10-03) Next in INFRA order; 8h on free hours 10-03..10-13 around booked rows. | 2026-10-03T18:06:11.3440955 | ||||||
PMO.2 - What the PMO seat missed at the MCP door!New... |
2026-10-03T17:41:21.9880523+00:00 | claude-code | PMO.2 | PMO | PMO door friction from the first planning pass | 2026-10-12 | 3 | Completed | Found by the pmo seat on PMO.1 (2026-10-03): (1) no stored query for open tasks of a project with an empty owner or date - it pulled every row and filtered by hand: add Query.UnplannedTasks (a SavedQuery, served as query_unplanned_tasks); (2) spice.py rows truncates cells, so it could not read whole comments to judge dependencies; (3) a seat's My Site Tasks has no TaskComments column, so its summary went into TaskOutcome - the delegated task should carry the comment field (CrewTask). | claude-code (seat) | 100 | (claude-code, 2026-10-03 20:58 UTC) (claude-code, 2026-10-03) Done by running the pmo seat on qwen3-coder (Ollama .69) until it worked: Query.AssignedWork (owner + due window; 5,985 chars where a dump was 54,675), MCP results compact JSON, tool_update_list_item takes itemId/key/id and fields as field-X, a fields object or bare column names (REST shape). Commits 3574d38 and after. | 2026-10-03T20:58:09.8436258 | |||||
HARNESS.20 - No hand edits of the spine: the missing provisioning doors!New... |
2026-10-03T17:40:56.3894696+00:00 | claude-code | HARNESS.20 | HARNESS | No hand edits of the spine: the missing provisioning doors | 2026-10-09 | 6 | Not Started | Operator 2026-10-03: why do you still edit things manually? Audit of this session: Risk CT and fields (AddContentType and AddFieldDefinition existed - should have been a parked delta), Feature.ProjectSiteDefaults (AddFeature existed), Workflow.ReceiveAndDispatch steps, SiteTemplate.ProjectSite lists and the Directory enterprise groups had NO door. Deliver the doors: UpdatePart (replace an existing part by Id, validated against the XSD, the old version kept), AddSiteTemplate, AddSiteGroup (create a group on a site; AddGroupMember fills it). Rule after this: parts and site data go through a ProvisioningDelta parked for approval; hand edits only for C#, XSD and XSLT engine work. | claude-code (seat) | (claude-code, 2026-10-03 19:40 UTC) (claude-code, 2026-10-03) Hand edit, no door: Actor.MapCopilot Goal - adding comes first (UpdatePart needed). | 2026-10-03T19:40:40.9940571 | ||||||
INTAKE.14 - The agent card is the service contract!New... |
2026-10-03T17:27:32.4960092+00:00 | claude-code | INTAKE.14 | INTAKE | The agent card is the service contract | 2026-10-03 | 2 | Completed | Operator 2026-10-03: a contract service so agents work together fluently. Delivered 756e48d: /.well-known/agent.json publishes the Reception service catalog as services, each with the MCP call that requests it (tool_publish_to_list, field-ServiceRef), plus access (seats, people, secrets, health, profile). Catalog rows added: onboard-agent-seat, site-access, seat-secret. Next: INTAKE.13 routes a named service deterministically. | claude-code (seat) | 100 | 2026-10-03T17:27:32.4969060 | ||||||
STAFF.9 - Meeting Workspace: a meeting room where the operator meets the crew with all context!New... |
2026-10-03T15:10:19.9106154+00:00 | claude-code | STAFF.9 | STAFF | Meeting Workspace: meet the crew with all context | 2026-11-04 | 8 | Not Started | Operator 2026-10-03: a chat like this one should happen in a meeting/project room with all context and the people needed. SharePoint: the Meeting Workspace (MPS#0) - Agenda, Attendees, Objectives, Decisions, Document Library, linked from a Calendar event. SPICE delta: Attendees may be agents (CEO, PMO lead, crew) as well as people; the room's chat runs each agent with the linked project site as context; decisions and action items land as rows (Decisions list, Tasks on the project site); reuse Workflow.PlanningMeeting / SteeringMeeting. Depends on STAFF.7 (chat with a chosen actor) and GOV.13 (sign-in). Plan before build: brainstorm on the map first. | claude-code (seat) | (pmo, 2026-10-03 17:36 UTC) (pmo, 2026-10-03) claude-code build work, due 2026-11-04 at 6h/day: meeting workspace, after staff-7 chat | 2026-10-03T17:36:02.3392108 | ||||||
STAFF.8 - Research and recommend: provisioning crews and agents in SPICE!New... |
2026-10-03T15:10:19.5746965+00:00 | claude-code | STAFF.8 | STAFF | Research and recommend: provisioning crews and agents | 2026-11-02 | 6 | Not Started | Operator 2026-10-03: research how crews and agents are best provisioned, then recommend one implementation for SPICE. Scout: Paperclip hire_agent and org chart, CrewAI crews vs flows, MetaGPT SOP roles, Project Server Enterprise Resource Pool (generic to named resources), SharePoint provisioning (site request, feature activation). Map onto what exists: Genesis/AutoGenesis (AddAgency parked for approval), Agency/ActorProfile parts, Directory/People seats, SeatPool, Feature BindSkill, Scope caps. Deliverable: a Pending Wisdom page with the recommendation (only what differs from SharePoint) plus backlog rows; feeds STAFF.3 (hire when needed) and the PMO crew model (KB 'How SPICE staffs a project'). | claude-code (seat) | (pmo, 2026-10-03 17:36 UTC) (pmo, 2026-10-03) claude-code build work, due 2026-11-02 at 6h/day: research, after the build items | 2026-10-03T17:36:02.0366763 | ||||||
GOV.13 - Browser sign-in through Authentik (OIDC), the SharePoint trusted identity provider way!New... |
2026-10-03T13:57:36.3987183+00:00 | claude-code | GOV.13 | GOV | Browser sign-in through Authentik (OIDC) | 2026-10-06 | 4 | In Progress | Operator 2026-10-03 asked Authentik or our own. Recommended: Authentik - SharePoint on-prem signed users in through a trusted identity token issuer (ADFS/SAML); Authentik is that issuer. ASP.NET Core has OpenID Connect built in (cookie + OIDC handler), so no own password store. Map the OIDC user (email/username) to the Directory/People row; loopback keeps System Account, Bearer seats unchanged. Phone on the LAN then signs in at http://192.168.123.153:5198. Needs: an Authentik application/provider (client id, secret, redirect /signin-oidc), secret in user-secrets. Own Forms-Based Auth only if Authentik is not reachable from the LAN. | claude-code (seat) | 80 | (claude-code, 2026-10-03 17:04 UTC) (claude-code, 2026-10-03) Built 22cedba: /_layouts/15/Authenticate.aspx and SignOut.aspx on the existing SPICE.Plugins.Auth.Oidc; a signed-in person resolves as the operator under their own name; forwarded headers trusted from 192.168.123.69. Verified: sign-in 302 to Authentik with PKCE. Waiting: the client secret, sealed by system-steward to the SPICE host key, into user-secrets Auth:ClientSecret; then spice.angelsworks.org behind the proxy for phones. (pmo, 2026-10-03 17:35 UTC) (pmo, 2026-10-03) owner was empty; in progress, due 2026-10-06: in progress, built 22cedba; finish and verify sign-in | 2026-10-03T17:35:55.5057485 | |||||
STAFF.7 - Chat with the CEO (and any crew actor) beside the brainstorm!New... |
2026-10-03T13:57:36.0739206+00:00 | claude-code | STAFF.7 | STAFF | Chat with the CEO (and any crew actor) beside the brainstorm | 2026-10-21 | 4 | Not Started | Operator 2026-10-03: a CEO chat somewhere, to talk with the company instead of with Claude Code. The Brainstorm map chat is fixed to Actor.MapCopilot. Deliver: an actor picker on the chat (or a chat web part on the Board/Governance page) that runs the chosen actor (CEO = Actor.ChiefStrategyOfficer, GOV.12) on the local model with the map selection as context; the CEO needs skills first (GOV.12d: empty SkillCatalog). Conversation stays a row on the site's Conversations list. | claude-code (seat) | (pmo, 2026-10-03 17:36 UTC) (pmo, 2026-10-03) claude-code build work, due 2026-10-21 at 6h/day: chat with CEO beside brainstorm | 2026-10-03T17:36:00.3334143 | ||||||
STAFF.6 - Agents work a task only through its form: the payload rides the task, each party edits only its own part!New... |
2026-10-02T16:39:25.1218677+00:00 | claude-code | STAFF.6 | STAFF | Agents work a task only through its form: the payload rides the task, each party edits only its own part | 2026-10-21 | 6 | Not Started | Operator 2026-10-02: use the payload task with InfoPath so agents only operate through forms and can only change their part, or adjust rights on fields. SharePoint shape: a 2010 workflow's task edit form is an InfoPath form bound to the task content type; the request travels in the task (ExtendedProperties), the assignee fills only the answer fields. SPICE today: Workflow Task rows carry WorkflowData JSON; FormTemplate (TPL.24) rules are enforced at every write door, but FieldRef ReadOnly is only a render hint in FormView.xslt - no door refuses a write to it. Deliver: (1) Form.FulfilRequest bound to the dispatch task - the request's Subject/Body/DecisionSupported copied in read-only, the agency's Deliverable, Outcome, Comments editable; (2) ReadOnly enforced server-side in ItemUpdateService/AddListItem/REST for the task content type (the workflow engine writes as Manager, the assignee cannot); (3) optionally per-role editability (InfoPath views per role) - ask first, SharePoint has no field-level permissions natively. Found by the full-circle test: req-news-to-tiktok reached Agency.Content as task wftask-run-9c05840afce1-1-agency-content. | claude-code (seat) | (pmo, 2026-10-03 17:35 UTC) (pmo, 2026-10-03) claude-code build work, due 2026-10-21 at 6h/day: task form payload, after staff-5 composer | 2026-10-03T17:35:59.9518680 |