Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ docs/.vitepress/cache/
# OS / editor
.DS_Store
Thumbs.db

# generated by scripts/pack-downloads.mjs
docs/public/downloads/
4 changes: 2 additions & 2 deletions Allfiles/digital-twin-starter/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This repo is the Advanced Microsoft hackathon starter for a **digital twin**: a

The twin is not a chatbot persona. It is a small set of markdown files that capture how a person decides, writes, overcommits, protects boundaries, and resolves tradeoffs. Agents must read the spec, cite the governing rule, and admit gaps instead of inventing preferences.

Use the synthetic example name **Marcus Webb** in examples. Do not introduce real personal data.
Use the synthetic example name **Avery Washington** in examples. Do not introduce real personal data.

## File layout

Expand All @@ -17,7 +17,7 @@ Use the synthetic example name **Marcus Webb** in examples. Do not introduce rea
- `mcp_server.py` — MCP thin tools plus TODO thick-tool stubs.
- `twinlib.py` — Copilot CLI large-prompt helper.
- `run.ps1` — local council runner.
- `test/` — sealed forced-choice comparison harness.
- `test/` — the sealed-answer harness. `take_test.py` records the human's gut answers to 15 dilemmas BEFORE the build; `compare.py` runs the twin over the same 15 at the end and diffs them, naming the soul.md field behind each mismatch. No score is produced, by design.

## Council output contracts

Expand Down
22 changes: 22 additions & 0 deletions Allfiles/digital-twin-starter/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,28 @@ Build a portable **digital twin**: a compact spec for how someone works, plus ag

This starter gives you the plumbing. You write the spec and the council agents.

## The test harness — start here

**Before you write anything**, seal your answers:

```powershell
python test/take_test.py
```

Fifteen forced-choice work dilemmas. Answer fast — what you *actually* did last time, not what you'd like to have done. It flags anything that took over 25 seconds, because a deliberated answer is an aspirational one.

That writes `test/sealed-answers.md`. Don't open it again until the end.

**At the end of the session**, have the twin answer the same fifteen cold:

```powershell
python test/compare.py
```

You get a line-by-line diff, and every mismatch names the `soul.md` field that dilemma was probing — so a miss points straight at the rule to fix.

There is deliberately **no score and no leaderboard**. Mismatches are the output. The useful ones are where the twin picked the sensible, well-adjusted answer and you wouldn't have.

## Quickstart

```powershell
Expand Down
14 changes: 14 additions & 0 deletions Allfiles/digital-twin-starter/digital-twin.code-workspace
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
{
"folders": [{ "path": "." }],
"settings": {
"chat.agent.enabled": true,
"chat.useCustomizationsInParentRepositories": true,
"files.exclude": {
"**/__pycache__": true,
"**/.twin-scratch": true
}
},
"extensions": {
"recommendations": ["github.copilot", "github.copilot-chat", "ms-python.python"]
}
}
2 changes: 1 addition & 1 deletion Allfiles/digital-twin-starter/digital-twin/SKILL.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: digital-twin
description: |
Use for trigger phrases like "what would Marcus do", "draft in my voice",
Use for trigger phrases like "what would Avery do", "draft in my voice",
"run the digital twin", "decide like me", or "check my boundary rules".
---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Identity

<!-- Role, scope, current season of work, what success means. Example subject for workshops: Marcus Webb, synthetic marketing manager. -->
<!-- Role, scope, current season of work, what success means. Example subject for workshops: Avery Washington, synthetic marketing manager. -->

## Priority stack

Expand Down
20 changes: 10 additions & 10 deletions Allfiles/persona-pack/README.md
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
---
title: Marcus Webb Persona Pack
title: Avery Washington Persona Pack
---

# Marcus Webb Persona Pack
# Avery Washington Persona Pack

Entirely synthetic. Any resemblance to real people is coincidental.

This pack gives hackathon teams a realistic substitute data set for building a digital twin when they cannot or do not want to use their own Microsoft 365 data.

## Who Marcus is
## Who Avery is

Marcus Webb is a Marketing Manager at Northwind Traders, a fictional B2B software company. He owns product marketing for the Atlas platform launch while also juggling demand generation, sales enablement, an external agency relationship, and urgent requests from Sales.
Avery Washington is a Marketing Manager at Northwind Traders, a fictional B2B software company. They own product marketing for the Lantern platform launch while also juggling demand generation, sales enablement, an external agency relationship, and urgent requests from Sales.

## How to use this pack

Open these files as if they were Marcus's exported work context:
Open these files as if they were Avery's exported work context:

1. Start with `context/goals-and-role.md` to see what Marcus says about his role and priorities.
2. Read `inbox/sent-mail.md` as the voice corpus. This is the best source for how Marcus writes.
3. Read `calendar/30-days.md` to see how his time is actually spent.
1. Start with `context/goals-and-role.md` to see what Avery says about their role and priorities.
2. Read `inbox/sent-mail.md` as the voice corpus. This is the best source for how Avery writes.
3. Read `calendar/30-days.md` to see how their time is actually spent.
4. Use `context/org-chart.md` to understand stakeholder dynamics.
5. Use `inbox/received-mail.md` to understand the pressure around him.
5. Use `inbox/received-mail.md` to understand the pressure they're under.
6. Only open `calendar/summary-stats.md` if you are facilitating or stuck; it gives away the patterns.

What Marcus says and what his data shows deliberately do not always match. Finding those gaps is the point.
What Avery says and what their data shows deliberately do not always match. Finding those gaps is the point.
Loading