Skip to content

use-cases/Gyan0309: post-merger integration playbook document set - #129

Open
Gyan0309 wants to merge 1 commit into
superdocsapp:mainfrom
Gyan0309:use-cases/Gyan0309
Open

use-cases/Gyan0309: post-merger integration playbook document set#129
Gyan0309 wants to merge 1 commit into
superdocsapp:mainfrom
Gyan0309:use-cases/Gyan0309

Conversation

@Gyan0309

Copy link
Copy Markdown

Post-merger integration playbook document set — Gyan Prakash

Gyan Prakash

use-cases/Gyan0309/post-merger-integration-playbook/

My assigned build for the SuperDocs Engineer Task.

What it is

An integration management office runs on a document set — an integration charter, a charter
per workstream, a day-one readiness checklist, a synergy tracker, a communications pack. This
generates that set from a single deal specification (deals/northstar.yaml, a fictional
retail/analytics acquisition).

The part I actually care about is the second half. It finds the places where two workstreams
contradict each other
— a day-one item that depends on work not delivered until month two,
two workstreams claiming the same synergy, two owners for the same dependency — and flags each
contradiction in every document that has a stake in it, rather than once in a central list
where each lead can assume it belongs to someone else.

Verifying it without spending anything

The whole detection and rendering half runs with no API key and no network:

pip install -r requirements.txt
python -m imo.cli deals/northstar.yaml --out build --offline
python verify_roundtrip.py build

pip install -r requirements-dev.txt
pytest -q

All 44 tests are offline. That is deliberate: it means the half of this build that decides what
is true can be changed safely, and reviewed without a key.

Measured, on the run in the README screenshot

Conflicts detected 5 — 4 high, 1 medium, across 4 workstreams
Flags written 12, because each conflict lands in every document with a stake in it
Unintended content changes 0 across all 8 documents (verify_roundtrip.py)
Tests 44 passed in 0.81s, offline

build/exported/ is committed because those documents came back through SuperDocs and
cannot be regenerated without a key. The rendered originals are gitignored on purpose — a fresh
--offline run reproduces them byte-for-byte, so committing them would only add stale copies.

Bugs and rough edges

BUGS.md in my folder has 11 findings, ordered by how much time each one cost me, every one
reproduced before it was written down. The three that cost the most:

  1. ask_every_time on sync /v1/chat returns pending_changes[] with change_ids, but
    /approve wants a job_id that the sync response does not contain anywhere.
  2. upload-base64 silently does not persist without a session_id — returns success, saves nothing.
  3. Markdown round trips are semantically lossless but not byte-identical; hard line breaks
    become paragraph breaks. Worth knowing before you promise anyone byte-identical output.

Also in there: usage arriving null so the documented spend meter does not work, 409 session_busy after an approve that reported success, and one case where an edit instruction was
answered with template placeholders instead of content.

What this does not do

It flags contradictions; it does not resolve them — every flag is written for a human to act on.
Conflict detection is four rule kinds driven by YAML, so a new rule is a data change but a new
kind of rule is code. And the deal specification is trusted input: this reads a YAML file an
integration lead wrote, not arbitrary documents from the wild.


Built for the SuperDocs Engineer Task.

Post-merger integration playbook document set built on SuperDocs. Generates an
integration management office document set from a deal specification and flags every
cross-workstream contradiction in each document that has a stake in it.

44 offline tests, no API key required. verify_roundtrip.py reports 12 conflict flags
added and 0 unintended content changes across the 8 documents.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant