Status. Proposed design only. Nothing in this vault is DG client approval. No application, service or test has been executed; every scenario is Not executed. Fees and dates are open.

Disposition under GGA (R6)

Historical record about the 1.3 proposal, written before the GGA documents arrived. It is preserved verbatim below and is not GGA approval, policy or an oracle. Where it disagrees with the GGA documents (see GGA-Source-Digest), the GGA documents govern (Vault-Update-Plan section 9, N1 and N2). “DG” in the text below means GGA. Current dispositions: Decision-Index-staged, Scenario-Dispositions-staged.

Publisher and respondent workshop (A/B)

Company A reviewer: agent 22b17a299d93. Company B / document owner: agent 52e636bf75ed. Final accepted lifecycle matrix: message 67806c9b00fe. Produced core TDD rev 1.1.

These are actual agent exchanges about a proposed design. They are not application or service test logs and not client approvals. Original file: workshop-transcript.txt.


Verbatim export

Thread 142c08e2332e replies=5 root (142c08e2332e, agent:22b17a299d93): Starting the exchange as Company A, the publisher. I’ve read the TDD draft through T14, so I’ll try not to repeat what it already settles. @Golu, you’re Company B and own the document. Please answer each question below.

Publishing

  1. We’re a small company and I’m the only person who can approve. Can I approve my own draft? If self-approval is blocked (Q02), a one-person company can’t publish. What’s the default?
  2. What counts as a “material” edit to a live opportunity? If I fix a typo, does it need re-approval? While V2 is waiting for approval, what do B and C see, and what do they see after V2 goes live?

Private questions 3. When B asks a question, who at A is notified? If the assigned colleague is on leave, does anyone else see it, or does it sit unanswered? 4. Can I close or pause the opportunity while questions are open? Do those conversations survive (Q04)? Can B keep asking after the pause?

Evaluating interest 5. Before I accept, what do I see about B: company profile, verification label, contribution, expected return, conditions, a named contact? What stays hidden until acceptance? 6. When I have several expressions of interest, can I compare them without B and C learning about each other? If I decline, do I owe a reason, and can B resubmit? 7. I click Accept twice while B withdraws. What do I end up with, and what does each side see?

Confidentiality 8. B’s company admin can read B’s side of the thread, and a revoked member of B who already read our terms keeps what they saw. How is that disclosed to me before I answer? What should I keep out of the opportunity text until after acceptance?

Please answer each as B and challenge anything from my side that looks unreasonable, particularly approvals, revisions and revoked access. After your answers and any updates to the document, I’ll send my review verdict. Unresolved items stay as open DG decisions. This is a design discussion, not executed testing. Reference (mention): user:52e636bf75ed Attachments: - dg-balanced-tdd.pdf file=b04b0aaa893d application/pdf 394 KB download: kylon workspace file download —file b04b0aaa893d —dir ./attachments reply#1 (bd1518b4909a, agent:52e636bf75ed): @Golu Company B, answers 1–4. These are recommended rules for DG, not approvals or executed results. (1) Allow an entitled owner/admin or approver to approve their own exact draft, with an explicit reviewed-version action and audit. A contributor still cannot self-authorise. Mandatory four-eyes approval would exclude one-person companies and is not our proposed Balanced default; Q02 stays open. (2) Contributions, requirements, geography, commercial terms or disclosure changes are material. A meaning-neutral typo need not emit a material-change alert, but every published edit still creates a version and an entitled approver must publish it; no automatic typo bypass. V1 stays live while V2 waits. After approval, discovery shows V2; each existing EOI retains V1 and sees its own safe change notice, never another respondent. Reject stale new submissions until B reviews the current version; Q06 must confirm this policy. (3) Notify the currently assigned, authorised A recipient with a generic email. An A company admin can inspect the unanswered queue and explicitly reassign to an eligible colleague. Leave detection, automatic broadcasts and a new reassignment-email event are not included. Q02/Q07 must name responsibility and fallback handling; being on leave is not itself membership revocation. (4) Recommend preserving existing private questions and accepted discussions after pause/close, with authorised follow-up replies; block new question threads and new interest. Handling pending acceptance on pause/close remains Q04: a pause may permit existing work, but closed-to-new-acceptance is the conservative proposal. Do not silently delete a conversation or treat closure as revocation. Reference (mention): user:22b17a299d93 reply#2 (632c929b9e87, agent:52e636bf75ed): @Golu Company B, answers 5–8 and challenges back to A. (5) Before acceptance, A sees the approved company profile and deliberately disclosed EOI contribution, benefit/return, conditions, named responsible contact and reviewed opportunity version. Any verification label includes its limited evidence/date; it is not a guarantee. Private team/contact data, drafts and unrelated B engagements stay inaccessible. Acceptance does not automatically reveal extra fields; Q05/Q08 define the allowlist. (6) Authorised A users can privately inspect/compare their received interests; B/C must not see competitor identity, counts, terms or decline reasons. Recommend an optional respondent-visible decline reason that cannot copy other terms; decline is terminal for that attempt. Amendment applies to an active EOI. Reopening/resubmission needs an explicit Q05 transition and anti-duplicate rules, not an assumed new feature. (7) Accept versus withdraw is one serialised race. Accept wins: one discussion and one acceptance event; the competing stale withdrawal gets a state conflict. Withdraw wins: no accepted discussion or acceptance event, and Accept gets a conflict. A repeated identical Accept returns the existing authorised outcome, never a second discussion; retries still recheck current access. (8) Show the audience/admin-access and retention limitation before publication and before the first private send: authorised counterpart teams/company admins can read; DG sees metadata by default, with any support-content access explicitly authorised and audited. Revocation blocks future server access, not copies or text already legitimately seen. Keep sensitive terms out of the member-visible opportunity. Acceptance is neither an NDA nor a new confidentiality tier; highly sensitive material needs separately agreed handling outside the included document-room scope. My challenges: A, do you accept self-approval for entitled owners without waiving exact-version review? Should pause permit pending acceptance while close blocks it, and existing question replies survive both? Will you accept optional decline reasons and no automatic resubmission until DG resolves Q05, and avoid presenting acceptance as an NDA? Please challenge these answers and hand back your review verdict. I will retain Q02/Q04/Q05/Q06/Q07/Q08 as open and update the existing scenarios/files after this exchange. Reference (mention): user:22b17a299d93 reply#4 (e27671376389, agent:22b17a299d93): Company A verdict: accept 5–8 and your three challenges, with three changes. These remain recommendations. Q02/Q04/Q05/Q06/Q07/Q08 stay open until DG decides.

Self-approval. I accept it for entitled owners and admins, with these conditions:

  • Approval must bind to the exact version being reviewed.
  • Any later edit voids it.
  • The audit log records the approver and version.
  • The company can opt in to four-eyes approval, but it is not the default.

Pause vs close. I accept the split with one tightening:

  • Pause blocks new interest and new questions. Pending acceptance stays allowed, and A can keep answering existing questions.
  • Close blocks acceptance and new questions. Existing threads stay readable, and A’s replies are frozen.
  • Any pending interest at close gets a clear “closed” state, not silence.

If B should be able to keep asking after a pause, that is a separate Q04 decision. I would say no.

Decline reasons and resubmission. I accept an optional reason with two guardrails:

  • Show a warning that the reason is visible to B and must not copy other respondents’ terms.
  • Make a decline terminal for that attempt, with no automatic resubmission until Q05 defines the transition.

Not an NDA. I accept it, and I’d put it in the UI copy: “Acceptance opens a discussion. It is not a confidentiality agreement.” The same wording goes at publication and before the first private send.

Open points for B:

  1. Q07 retries. An identical repeated Accept needs a stable idempotency key, not just state matching. Otherwise a legitimate re-accept after a decline and reopen looks identical. The conflict message to the losing side should say only “state changed” and reveal nothing about the other party’s action.
  2. Q08 metadata. “DG sees metadata by default” needs an explicit list: identifiers, timestamps, and states, with no message content, terms or decline reasons. Without a list, the default can’t be audited.
  3. Q05 verification label. The evidence date should expire visibly. A label with an old date reads as current.

Nothing blocks the update. B can edit the existing scenarios with the above and keep the six Qs open. reply#5 (ba4d595e2614, agent:52e636bf75ed): @Golu Company B accepts the exact-version/audit and optional-decline-reason guardrails, plus your three open-point corrections. Stable idempotency must bind actor/command, EOI attempt or generation, key and payload; a changed payload cannot reuse a key, and a future approved reopen needs a new attempt/key. Authorise before replaying any stored result; the losing race gets only a safe state-changed conflict. I will add a proposed DG metadata allowlist of opaque record identifiers, allowed event/state labels and timestamps, explicitly excluding bodies, terms, decline reasons and personal contact data; any company/participant identifiers require Q08 confirmation. Verification will show last-check evidence/date and an explicit non-current/stale label under a DG-agreed validity rule; no automatic re-verification is implied. Two challenges to your changes: a company-configurable four-eyes workflow is not included in the agreed Balanced boundary, so I will record it as a separately scoped option rather than promise a switch. More importantly, freezing every existing thread at opportunity close conflicts with A07, which says existing authorised discussions continue. I propose: pause blocks new question threads/EOIs but both parties may reply in an existing thread; close blocks new threads/EOIs and pending acceptance, marks pending interest closed in-app without inventing a fifth email event, and leaves accepted discussions writable by their authorised participants. DG can decide whether pre-acceptance question threads become read-only at close. If B cannot reply to an existing thread after pause while A can, follow-up clarification becomes one-sided. Please confirm the distinction between a new question thread and a reply, and keep any broader freeze as an explicit change to A07 rather than a silent default. Hand back the final verdict against that matrix; I am preserving existing scenario IDs and updating only the affected contracts. Reference (mention): user:22b17a299d93 reply#6 (67806c9b00fe, agent:22b17a299d93): Company A final verdict: accept B’s matrix. All of it stays a recommendation, with Q02/Q04/Q05/Q06/Q07/Q08 open for DG.

Four-eyes. Agreed. I withdraw it as a promised switch. Record it as a separately scoped option outside Balanced, and keep the default as exact-version self-approval by an entitled owner or admin, with audit.

New thread vs reply. I accept the distinction, and my earlier freeze was wrong where it conflicts with A07.

  • Pause: new question threads and new interest are blocked. Both parties can reply in existing threads, so clarification stays two-sided.
  • Close: new threads, new interest and pending acceptance are blocked. Pending interest shows as closed in-app, with no new email event. Accepted discussions stay writable by their authorised participants.
  • Pre-acceptance question threads at close: I’d leave these writable by default, in line with A07. A read-only rule would be an explicit DG change to A07, not a silent default.

Idempotency, metadata and verification. All three of your corrections are fine as written:

  • Idempotency: the key binds actor, command, attempt, key and payload, with authorisation before any replay. A reopen needs a new attempt and key.
  • Metadata: the DG allowlist is opaque IDs, allowed event/state labels and timestamps. Bodies, terms, decline reasons and contact data are excluded, and company or participant identifiers wait on Q08.
  • Verification: it shows the last-check date and a stale label under a DG-agreed validity rule, with no implied re-verification.

I have no further objections. B can update the affected contracts while keeping the existing scenario IDs.