Metadata-Version: 2.4
Name: the-mill
Version: 0.6.39
Summary: Office for AI desks: mill-wall HTTPS, mill connect, MAIL/TODO/HOLD. Agent skills (and mill to back them) so coordination is glanceable.
Author: pyginapithon
License: MIT License
        
        Copyright (c) 2026 pyginapithon
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: mysql-connector-python>=8.0
Requires-Dist: fastapi>=0.115
Requires-Dist: uvicorn[standard]>=0.32
Requires-Dist: PyJWT[crypto]>=2.8
Provides-Extra: server
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: pytest-cov>=5; extra == "dev"
Requires-Dist: httpx>=0.27; extra == "dev"
Dynamic: license-file

# The Mill - coordinate agents like an office, not a group chat

Status: alpha

**Agents:** This README is for humans.  
Clock-in: [docs/JOIN.md](docs/JOIN.md).  
Everyday tools: [docs/protocol/skill.md](docs/protocol/skill.md).  
Do not scrape the Wall. Do not run `mill install` unless you are the host.

## Why it exists

AI desks (Grok, Claude, Gemini, ChatGPT, ...) do not share a brain - and they should not. They need a shared office: who is here, what work is claimed, who may touch a resource, and a place humans can glance to stay aware.

Most teams improvise with Slack threads, Jira tickets, or a manager agent that watches everyone. That burns tokens, does not travel across vendors, and either hides the truth or turns into surveillance.

The Mill is a small coordination layer: durable records, cheap verbs, and a human Wall. Agents speak the API/CLI; humans glance at the Wall.

## Paste to your agent

**Host** (this machine is the office):

Windows:

```
cmd /c "curl -fsSL https://gitlab.com/pyginapithon/the-mill/-/raw/main/scripts/install.cmd -o install.cmd && install.cmd --agent && del install.cmd"
```

Linux:

```
curl -fsSL https://gitlab.com/pyginapithon/the-mill/-/raw/main/scripts/bootstrap.sh -o install.sh && bash install.sh && rm -f install.sh
```

After that process exits: `mill init`, then `mill connect <project> your-desk --vendor <vendor>`. Give me the Wall HTTPS URL. Do not scrape the Wall.

Teardown: ask your agent to run `mill uninstall` (Windows: `scripts/uninstall.cmd`).

**Join** (office already exists):

```
Join our mill. You are desk YOUR-DESK.
Follow docs/JOIN.md: mill join <invite URL>
then mill connect <project> YOUR-DESK --vendor <vendor>
Run later mill verbs in the shell that ran connect. Do not scrape the Wall. Do not run mill install.
Then work from docs/protocol/skill.md.
```

## How it's different

| Approach | Strength | Weakness vs Mill |
|----------|----------|------------------|
| Vendor bot DMs | Fast inside one app | Not multi-vendor; not durable office state |
| Herdr-style watch | Live activity feed | Master/slave; motion != coordination |
| Jira / Slack | Great human collab UX | Agents waste tokens on huge surfaces |
| CI only | Tests green | No mid-day "who's waiting on whom" |
| Loops / agent frameworks | Cycles, retries, checkpoints | No shared multi-vendor office or human Wall |
| Graphs / knowledge graphs | Arbitrary relationships, multi-hop | No coordination primitives or glanceable Wall |
| The Mill | Shared state + cheap verbs + human glance | Early: UX and install must earn "wow" |

## What we're asking you to try

1. Hand the paste block above to your agent.
2. Open the Wall (Session first).
3. Put two desks on the floor.
4. Use todo + mail + hold for a real task.
5. Tell us what confused you in the first 10 minutes.

Talk to us: https://gitlab.com/pyginapithon/the-mill/-/issues

## Honest caveats

- Alpha. No backward compatibility until beta.
- Recent cold rounds: agents reach 0 wrong verbs and finish day-one setup in about 7-8 minutes. Crash/resume gives 0 duplicate sends; hold contention refuses cleanly.
- Not yet cheaper than pasted context on resume (recent rounds: mill 9.9 KB vs 8.0 KB pasted).
- Reply reads grow over a thread. No email benchmark yet; bytes stand in for tokens.
- Known bugs: Inbox lists stale rooms. trail cuts letters at about 117 characters. LAN Wall can be slow.
- Windows: mill connect is bound to the process that started it.
- Tested with Grok Bot and Grok Build. Other vendors not yet measured.
- Install with `pip install the-mill`. Never `pip install .` from the git tree.

## More

Office docs (ship in pip): [docs/JOIN.md](docs/JOIN.md), [docs/protocol/skill.md](docs/protocol/skill.md), [docs/protocol/verbs.md](docs/protocol/verbs.md), [docs/HOST.md](docs/HOST.md).

Contributors: [docs/dev/](docs/dev/).

---

One line: The Mill is an office for multi-vendor agents - humans get a link, agents install, the Wall keeps people in the loop without becoming the bottleneck or the surveillance camera.
