@floh-solutions/pharos-cli 0.25.0 → 0.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -581,14 +581,10 @@ async function githubChecks(env, gh, verify) {
581
581
  return checks;
582
582
  }
583
583
  if (bindings.length === 0) {
584
- const auth = checks[0];
585
- auth.note =
586
- `${auth.note ?? ""} No repository is bound yet — `
587
- + `${configExists ? `${configPath} lists none` : `${configPath} does not exist`}. `
588
- + `\`${BIND_COMMAND}\` binds one, and \`gh-account\` and \`gh-repo-access\` appear `
589
- + "once it does.";
584
+ markUnbound(checks[0], configPath, configExists, accounts);
590
585
  return checks;
591
586
  }
587
+ checks[0].bound = true;
592
588
  const accountsOk = accountReports.every((report) => report.ok);
593
589
  checks.push({
594
590
  id: "gh-account",
@@ -616,6 +612,58 @@ const ACCOUNT_UNLOCKS = "Every bound repository is reached as the account bound
616
612
  + "happens to have active.";
617
613
  const ACCOUNT_WITHOUT = "`pharos issue` fails on that repository with an account error rather than a GitHub outage.";
618
614
  const BIND_COMMAND = "pharos setup --repo owner/name --gh-account <login>";
615
+ /**
616
+ * `gh` is fine and nothing is bound — say so **as data** on the `gh-auth` row
617
+ * (#892), and name the command that fixes it **as data** too (#890).
618
+ *
619
+ * Its own function because of the one rule inside it that a test cannot reach
620
+ * through `pharos doctor`: **an existing `install` is never overwritten.** The
621
+ * state that matters is a credential GitHub has actively REFUSED — `authCheck`
622
+ * puts `gh auth login --user <login>` on the row for it — and binding a
623
+ * repository to a dead token achieves nothing, so that command outranks this
624
+ * one. Replacing it would be #886's mistake (naming the wrong command with
625
+ * confidence) committed in the row directly above #886's.
626
+ *
627
+ * Arranging a refused credential on a real machine is not something a test may
628
+ * do, so the precedence is asserted here instead, against a synthesised row.
629
+ */
630
+ export function markUnbound(auth, configPath, configExists, held = []) {
631
+ // **The accounts `gh` holds, as data, in the one state where nothing else
632
+ // reports them** (#889). `gh-account` carries the per-binding list, but it is
633
+ // emitted only once a repository is bound — so on an unbound machine, which is
634
+ // exactly when somebody needs to choose an account to bind AS, the app had no
635
+ // decoded list of accounts at all and could only have scraped this note.
636
+ //
637
+ // Attached here rather than on every `gh-auth` row so the wizard never draws
638
+ // the same accounts twice: once bound, `gh-account` owns that display.
639
+ if (held.length > 0) {
640
+ auth.accounts = held.map((account) => ({
641
+ account: account.login,
642
+ // Listed is not the same as working (#793): a REJECTED credential is one
643
+ // GitHub has actively refused, and binding a repository to it achieves
644
+ // nothing. The picker uses this to refuse the account rather than to hide
645
+ // it — a missing account is a question, a refused one is an answer.
646
+ ok: account.state !== "rejected",
647
+ active: account.active,
648
+ detail: account.state === "rejected"
649
+ ? `GitHub refused this credential${account.stateDetail === undefined ? "" : ` — ${account.stateDetail}`}.`
650
+ : `gh holds a token for "${account.login}".`,
651
+ }));
652
+ }
653
+ auth.note =
654
+ `${auth.note ?? ""} No repository is bound yet — `
655
+ + `${configExists ? `${configPath} lists none` : `${configPath} does not exist`}. `
656
+ + `\`${BIND_COMMAND}\` binds one, and \`gh-account\` and \`gh-repo-access\` appear `
657
+ + "once it does.";
658
+ auth.bound = false;
659
+ // The app renders `install` as a COPYABLE command wherever it shows a note,
660
+ // and it must not have to dig this out of the sentence above — that is the
661
+ // prose sniffing `bound` exists to end. No install BUTTON appears: that is
662
+ // driven by `CommandLineStep.isOffered`, which lists skill, pharos-convert,
663
+ // gh, libreoffice and pdftotext, and `gh-auth` is not among them. Signing in
664
+ // stays the user's own job (#890).
665
+ auth.install ??= BIND_COMMAND;
666
+ }
619
667
  /** The `gh-auth` row, worded by which of the three states we are actually in. */
620
668
  export function authCheck(base, accounts, accountReports, authFailure) {
621
669
  if (authFailure !== undefined) {
@@ -732,8 +780,40 @@ export function authCheck(base, accounts, accountReports, authFailure) {
732
780
  * against what was configured; this records the account it asked as, the viewer
733
781
  * that token turned out to be, and the node id — the identity that survives a
734
782
  * rename — so a disagreement is a fact on the page rather than an inference.
783
+ *
784
+ * ## It is also the one row that makes real calls, so it can fail to ask (#886)
785
+ *
786
+ * This is the only GitHub row that needs the network — which means it is the
787
+ * only one that can be offline, and the first draft reported that as a fault.
788
+ * `gh-core` returned `unknown` for a dead socket, and `unknown` landed in the
789
+ * `else` below as {@link BIND_COMMAND}: **run the wizard on a plane and it told
790
+ * you to re-record a binding that was perfectly correct.**
791
+ *
792
+ * {@link authCheck} had already met this exactly one layer up and answered it —
793
+ * an `unverified` account is reported as not-a-fault and is deliberately NOT
794
+ * offered `gh auth login`, because sending somebody to re-authenticate over the
795
+ * network that is itself the problem is the original bug wearing a new hat.
796
+ * That reasoning is not about credentials specifically; it is about the
797
+ * difference between "we asked and the answer was no" and "we could not ask".
798
+ * `gh-core` now spells the second one `unreachable`, and this row treats it the
799
+ * same way `gh-auth` treats `unverified`:
800
+ *
801
+ * - the check is **green**, because nothing here is broken;
802
+ * - `install` is **null**, because no command would help — offering the wrong
803
+ * one is worse than offering none;
804
+ * - the note says *could not ask*, never *failed*.
805
+ *
806
+ * The per-repository row keeps `ok: false` with `problem: "unreachable"`, which
807
+ * is the honest pair: access was not proven, and it was not disproven either.
808
+ * A consumer rendering `repos` must branch on `problem` rather than paint every
809
+ * `ok: false` red — {@link render} below does, and the app's wizard step
810
+ * (`CommandLineStep.swift`, todo #888) has to as well.
811
+ *
812
+ * A **mixed** run still fails, and that is the point of separating them rather
813
+ * than counting: one repository unreachable and another genuinely unauthorized
814
+ * is a real fault with a real fix, and the fix is named for the fault.
735
815
  */
736
- async function repoAccessCheck(client, bindings, configPath) {
816
+ export async function repoAccessCheck(client, bindings, configPath) {
737
817
  const repos = await Promise.all(bindings.map(async (binding) => {
738
818
  const report = await client.repos.verifyAccess(binding);
739
819
  return {
@@ -748,6 +828,34 @@ async function repoAccessCheck(client, bindings, configPath) {
748
828
  };
749
829
  }));
750
830
  const failed = repos.filter((report) => !report.ok);
831
+ // **Split before counting.** `failed` mixes two different things: repositories
832
+ // GitHub gave a verdict on, and repositories nobody could reach. Only the
833
+ // first kind is a fault, only the first kind earns an `install`, and the
834
+ // second kind is the whole of #886.
835
+ //
836
+ // A RATE LIMIT joins that second kind (#894). It arrives as a 403 carrying
837
+ // rate-limit headers, so before it was classified it read as a refused
838
+ // credential and earned the bind command — #886's mistake with the budget
839
+ // instead of the network. It is worded separately because the remedy is
840
+ // different: you wait, and telling somebody to check their connection because
841
+ // GitHub is rationing them would be wrong in a new way.
842
+ const unreachable = failed.filter((report) => report.problem === "unreachable");
843
+ const limited = failed.filter((report) => report.problem === "rate-limited");
844
+ const faults = failed.filter((report) => report.problem !== "unreachable" && report.problem !== "rate-limited");
845
+ /** Everything that was not judged, for the counts the note reports. */
846
+ const unasked = unreachable.length + limited.length;
847
+ const couldNotAsk = (unreachable.length === 0
848
+ ? ""
849
+ : ` ${unreachable.length} of ${repos.length} could not be asked at all `
850
+ + `(${unreachable.map((report) => report.repo).join(", ")}) — unreachable host or `
851
+ + "GitHub erroring, which judges neither the binding nor the credential. Nothing to fix "
852
+ + "here; check the connection and run this again.")
853
+ + (limited.length === 0
854
+ ? ""
855
+ : ` ${limited.length} of ${repos.length} hit the rate limit `
856
+ + `(${limited.map((report) => report.repo).join(", ")}) — GitHub is rationing this `
857
+ + "account, which judges neither the binding nor the credential. Nothing to fix here; "
858
+ + "wait for the budget to reset and run this again.");
751
859
  return {
752
860
  id: "gh-repo-access",
753
861
  name: "Bound repositories, read as their own account",
@@ -756,25 +864,35 @@ async function repoAccessCheck(client, bindings, configPath) {
756
864
  + "returned is the owner asked for.",
757
865
  without: "A repository can 200 from the WRONG account and look fine, because two accounts can "
758
866
  + "each see one of that name. Silent, and wrong.",
759
- ok: failed.length === 0,
867
+ // An unreachable host is not a failing check. See this function's note.
868
+ ok: faults.length === 0,
760
869
  version: null,
761
870
  path: configPath,
762
871
  // The generic fix is the binding, EXCEPT where gh simply has no credential
763
872
  // for the account — pointing that at `pharos setup` would send somebody to
764
- // re-record a pair that is already right.
765
- install: failed.length === 0
873
+ // re-record a pair that is already right. Same for a repository nobody
874
+ // could reach, which is why `faults` is what is asked here and not `failed`:
875
+ // there is no command for "the network is down", and BIND_COMMAND was being
876
+ // offered as one.
877
+ install: faults.length === 0
766
878
  ? null
767
- : failed.some((report) => report.problem === "no-token")
879
+ : faults.some((report) => report.problem === "no-token")
768
880
  ? "gh auth login"
769
881
  : BIND_COMMAND,
770
882
  repos,
771
883
  // Deliberately NOT a re-listing of `repos` — that array is the detail, and
772
884
  // a note that restates it is two places to read and one place to disagree.
773
- note: (failed.length === 0
774
- ? "Every bound repository answered as the account it is bound to, and the owner "
775
- + `returned matched the owner configured (${repos.length} checked).`
776
- : `${failed.length} of ${repos.length} failed: `
777
- + `${failed.map((report) => `${report.repo} (${report.problem ?? "unknown"})`).join(", ")}.`)
885
+ note: (faults.length > 0
886
+ ? `${faults.length} of ${repos.length} failed: `
887
+ + `${faults.map((report) => `${report.repo} (${report.problem ?? "unknown"})`).join(", ")}.`
888
+ : unasked === 0
889
+ ? "Every bound repository answered as the account it is bound to, and the owner "
890
+ + `returned matched the owner configured (${repos.length} checked).`
891
+ : unasked === repos.length
892
+ ? "Nothing was proven either way — no repository could be asked."
893
+ : `${repos.length - unasked} of ${repos.length} answered as the account `
894
+ + "they are bound to, and the owner returned matched the owner configured.")
895
+ + couldNotAsk
778
896
  + " Each was reached as its configured account rather than whichever one `gh` has active;"
779
897
  + " per-repository detail, including the node id, is in `repos`.",
780
898
  };
@@ -828,6 +946,23 @@ async function exists(path) {
828
946
  return false;
829
947
  }
830
948
  }
949
+ /**
950
+ * The mark beside one repository — and there are **three** of them, not two.
951
+ *
952
+ * `ok: false` covers two different states (#886): GitHub gave a verdict and it
953
+ * was no, and nobody could be asked at all. Printing `✗` against an unreachable
954
+ * host is the same overclaim in ink that `install: BIND_COMMAND` was in JSON —
955
+ * a broken-looking line underneath a check that has just said it is fine. `?`
956
+ * is the state `gh` itself calls `unverified`.
957
+ *
958
+ * Its own function because it is the assertable half of that decision, and
959
+ * `render` is not reachable from a test without a machine in a known state.
960
+ */
961
+ export function repoMark(repo) {
962
+ if (repo.ok)
963
+ return "✓";
964
+ return repo.problem === "unreachable" ? "?" : "✗";
965
+ }
831
966
  /** The human rendering. Grouped by tier, because that is what "missing" means. */
832
967
  function render(result) {
833
968
  const lines = [];
@@ -856,8 +991,7 @@ function render(result) {
856
991
  lines.push(` ${mark} ${account.account}${active} — ${account.detail}`);
857
992
  }
858
993
  for (const repo of check.repos ?? []) {
859
- const mark = repo.ok ? "✓" : "✗";
860
- lines.push(` ${mark} ${repo.repo} as ${repo.account}`);
994
+ lines.push(` ${repoMark(repo)} ${repo.repo} as ${repo.account}`);
861
995
  if (repo.viewer !== null)
862
996
  lines.push(` token belongs to: ${repo.viewer}`);
863
997
  if (repo.resolved !== null)
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,103 @@
1
1
  import { type ExitCode, type Io } from "../output.js";
2
2
  import { type Session } from "../session.js";
3
+ /**
4
+ * `pharos issue` — the cross-platform **edge**, and only the edge.
5
+ *
6
+ * ## Why there are three verbs here and not thirty
7
+ *
8
+ * **Do not rebuild `gh`** (plan §8). The agent already has it, it is better than
9
+ * anything here would be, and a second GitHub CLI is the "second implementation
10
+ * that drifts" failure `AGENTS.md` names three separate times. There is no
11
+ * `pharos issue list`, no `issue view`, no `issue close`: reading and writing an
12
+ * issue is `gh`'s job, reading and writing a work item is the other twenty-seven
13
+ * verbs' job. What neither can do is join them, and that is all this is.
14
+ *
15
+ * | verb | what only this can do |
16
+ * |---|---|
17
+ * | `adopt` | create the work item AND write both ends of the link, in that order, idempotently |
18
+ * | `link` | join an existing pair, or finish a join that half-happened |
19
+ * | `say` | one message, two audiences — the full explanation to GitHub, a summary and the comment's URL to Azure DevOps |
20
+ * | `trail` | the whole trail from **either** end, with the evidence for each half |
21
+ *
22
+ * `say` is the one that could be mistaken for `gh issue comment` plus `pharos
23
+ * comment add`, and it is not: those two write the same words twice to two
24
+ * audiences with different access, and neither of them knows the other
25
+ * happened. The asymmetry is the feature (§8) — see {@link runSay}.
26
+ *
27
+ * ## The link is three layers, and this writes two of them
28
+ *
29
+ * Plan §6, in order of durability:
30
+ *
31
+ * 1. **Durable and human-visible.** On Azure DevOps a `Hyperlink` relation to
32
+ * the issue URL. Measured, not chosen: `_apis/githubconnections` answers 401
33
+ * on Pharos's PAT scopes while a control WIQL call answers 200 with the same
34
+ * token, so the connection id a native `vstfs:///GitHub/Issue/…` artifact
35
+ * link needs cannot be read at all (§2). On GitHub, one Pharos comment
36
+ * carrying `AB#<id>` — free official linking wherever the Azure Boards app
37
+ * happens to be installed, harmless text where it is not.
38
+ * 2. **Machine-readable.** The `<!-- pharos:v1 … -->` trailer inside that same
39
+ * comment. **In a comment, never the issue body**: editing a reporter's body
40
+ * collides with them, is rude on a public repo, and needs write access we may
41
+ * not have on a community issue.
42
+ * 3. **Fast.** A local join table, rebuilt from 1 and 2. This CLI has none — it
43
+ * reads the durable layers every time, which is why it needs no state on disk
44
+ * and cannot be stale.
45
+ *
46
+ * Both layers are composed by `gh-core`'s {@link composeLinkComment} and read
47
+ * back by its {@link linksFromComments} / {@link linksFromHyperlinks}. Nothing
48
+ * here parses or formats a marker. The grammar is a **shared contract** with a
49
+ * Swift port that tests against the same fixture file, and a second parser here
50
+ * would be the drift that fixture exists to prevent.
51
+ *
52
+ * ## The write order, and the one failure it leaves behind
53
+ *
54
+ * Azure DevOps first, GitHub second — in `adopt` because the work item id does
55
+ * not exist until the create lands, and in `link` for the same order so there is
56
+ * **one** recovery path rather than two. So the failure this can leave is always
57
+ * the same shape: the ADO end written, the GitHub end not. `pharos issue link
58
+ * <repo#n> <id>` completes exactly that, and `adopt` reports the created id and
59
+ * that command when the comment fails rather than only reporting the error — a
60
+ * work item nobody can name is worse than a failed call.
61
+ *
62
+ * ## What "already linked" means, and the three places it is asked
63
+ *
64
+ * The GitHub comment is the index, and it is the *first* thing read: an issue
65
+ * carrying a marker is already adopted, `adopt` returns the work item it names,
66
+ * exit 0, nothing written. That is the property an agent that retries depends
67
+ * on.
68
+ *
69
+ * **It is not sufficient on its own, and that cost a real duplicate.** In the
70
+ * half-linked state — the work item created, the comment not — the marker was
71
+ * never posted, so the index is silent about a work item that already exists.
72
+ * A retry there used to create a *second* one: its own id, its own place in a
73
+ * sprint, its own notifications, on a client's board, and nothing in this app
74
+ * removes it. That state is exactly the one a retry follows, because it is the
75
+ * one that just returned an error.
76
+ *
77
+ * So before creating anything, two more questions are asked, cheapest first,
78
+ * and either of them makes `adopt` **refuse** and hand over the same
79
+ * `pharos issue link` command the failure itself carried:
80
+ *
81
+ * 1. **This machine.** `half-link.ts` records an adoption between the create
82
+ * and the comment, and removes it when the comment lands. Local, so the
83
+ * refusal costs no round trip — and it is the **only** guard left when the
84
+ * board cannot be asked at all, which is a state this deliberately does not
85
+ * treat as fatal. It also knows *which* work item this machine created and
86
+ * when, where a scan can only infer it. An entry is *verified* against Azure
87
+ * DevOps before it is believed, so a work item that was since deleted cannot
88
+ * wedge a legitimate adoption.
89
+ * 2. **The board**, for everything the first cannot see: a retry from another
90
+ * machine, another checkout, or after the journal was lost. Azure DevOps has
91
+ * no query over relation URLs, so this narrows on `[System.HyperLinkCount]`
92
+ * and matches the URLs client-side — see `issue-scan.ts` ▸
93
+ * {@link adoptGuardWiql}, which explains why it is capped and why it is not
94
+ * the statement `drift` uses. A failed guard query is reported and does not
95
+ * block the adoption: this is a safety net, and one that refuses to adopt
96
+ * because it could not run would be worse than the thing it prevents.
97
+ *
98
+ * `pharos issue drift` is still the sweep that finds a half-linked pair nobody
99
+ * retried, and reports it as `one-sided` with the same repair.
100
+ */
3
101
  export interface IssueCommandOptions {
4
102
  /** `--type` — the Azure DevOps work item type `adopt` creates. */
5
103
  type: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AA6DA,OAAO,EAOL,KAAK,QAAQ,EACb,KAAK,EAAE,EACR,MAAM,cAAc,CAAC;AACtB,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAwGtD,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,kDAAkD;IAClD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4EAA4E;IAC5E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,sFAAsF;IACtF,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oFAAoF;IACpF,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,qEAAqE;IACrE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8EAA8E;IAC9E,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B;;;;;;;;OAQG;IACH,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4EAA4E;IAC5E,GAAG,EAAE,OAAO,CAAC;IAIb;;;;;;;;OAQG;IACH,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAkCnB"}
1
+ {"version":3,"file":"issue.d.ts","sourceRoot":"","sources":["../../src/commands/issue.ts"],"names":[],"mappings":"AA6DA,OAAO,EAOL,KAAK,QAAQ,EACb,KAAK,EAAE,EACR,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAW,KAAK,OAAO,EAAE,MAAM,eAAe,CAAC;AAEtD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiGG;AAMH,MAAM,WAAW,mBAAmB;IAClC,kEAAkE;IAClE,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,kDAAkD;IAClD,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4EAA4E;IAC5E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,+EAA+E;IAC/E,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,2DAA2D;IAC3D,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,sFAAsF;IACtF,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,oFAAoF;IACpF,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,qEAAqE;IACrE,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,8EAA8E;IAC9E,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B;;;;;;;;OAQG;IACH,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC;IACvB,0EAA0E;IAC1E,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,4EAA4E;IAC5E,GAAG,EAAE,OAAO,CAAC;IAIb;;;;;;;;OAQG;IACH,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7B,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC;;;;;;;OAOG;IACH,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;IAChC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,qDAAqD;IACrD,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,wBAAsB,QAAQ,CAC5B,EAAE,EAAE,EAAE,EACN,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,SAAS,MAAM,EAAE,EAC9B,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,QAAQ,CAAC,CAkCnB"}
@@ -3,107 +3,8 @@ import { GitHubNotFoundError, PullRequestNotAnIssueError, assertIssueCoordinate,
3
3
  import { DEFAULT_WRITE_BUDGET } from "../budget.js";
4
4
  import { ADOPT_GUARD_LIMIT, READ_CONCURRENCY, WRITES_PER_ADOPTION, adoptGuardWiql, backfillCandidates, claimsOn, driftWiql, finishedStates, inBatches, isFinished, judgeLink, linkedNumbersIn, linksOnWorkItems, looksLikeWiqlRejection, reposOf, tallyDrift, terminalStateFor, } from "../issue-scan.js";
5
5
  import { CliError, emit, emitText, failureOf, refusal, usageError, } from "../output.js";
6
+ import { FALLBACK_WORK_ITEM_TYPE, resolveWorkItemType } from "../adopt-type.js";
6
7
  import { approve } from "../session.js";
7
- /**
8
- * `pharos issue` — the cross-platform **edge**, and only the edge.
9
- *
10
- * ## Why there are three verbs here and not thirty
11
- *
12
- * **Do not rebuild `gh`** (plan §8). The agent already has it, it is better than
13
- * anything here would be, and a second GitHub CLI is the "second implementation
14
- * that drifts" failure `AGENTS.md` names three separate times. There is no
15
- * `pharos issue list`, no `issue view`, no `issue close`: reading and writing an
16
- * issue is `gh`'s job, reading and writing a work item is the other twenty-seven
17
- * verbs' job. What neither can do is join them, and that is all this is.
18
- *
19
- * | verb | what only this can do |
20
- * |---|---|
21
- * | `adopt` | create the work item AND write both ends of the link, in that order, idempotently |
22
- * | `link` | join an existing pair, or finish a join that half-happened |
23
- * | `say` | one message, two audiences — the full explanation to GitHub, a summary and the comment's URL to Azure DevOps |
24
- * | `trail` | the whole trail from **either** end, with the evidence for each half |
25
- *
26
- * `say` is the one that could be mistaken for `gh issue comment` plus `pharos
27
- * comment add`, and it is not: those two write the same words twice to two
28
- * audiences with different access, and neither of them knows the other
29
- * happened. The asymmetry is the feature (§8) — see {@link runSay}.
30
- *
31
- * ## The link is three layers, and this writes two of them
32
- *
33
- * Plan §6, in order of durability:
34
- *
35
- * 1. **Durable and human-visible.** On Azure DevOps a `Hyperlink` relation to
36
- * the issue URL. Measured, not chosen: `_apis/githubconnections` answers 401
37
- * on Pharos's PAT scopes while a control WIQL call answers 200 with the same
38
- * token, so the connection id a native `vstfs:///GitHub/Issue/…` artifact
39
- * link needs cannot be read at all (§2). On GitHub, one Pharos comment
40
- * carrying `AB#<id>` — free official linking wherever the Azure Boards app
41
- * happens to be installed, harmless text where it is not.
42
- * 2. **Machine-readable.** The `<!-- pharos:v1 … -->` trailer inside that same
43
- * comment. **In a comment, never the issue body**: editing a reporter's body
44
- * collides with them, is rude on a public repo, and needs write access we may
45
- * not have on a community issue.
46
- * 3. **Fast.** A local join table, rebuilt from 1 and 2. This CLI has none — it
47
- * reads the durable layers every time, which is why it needs no state on disk
48
- * and cannot be stale.
49
- *
50
- * Both layers are composed by `gh-core`'s {@link composeLinkComment} and read
51
- * back by its {@link linksFromComments} / {@link linksFromHyperlinks}. Nothing
52
- * here parses or formats a marker. The grammar is a **shared contract** with a
53
- * Swift port that tests against the same fixture file, and a second parser here
54
- * would be the drift that fixture exists to prevent.
55
- *
56
- * ## The write order, and the one failure it leaves behind
57
- *
58
- * Azure DevOps first, GitHub second — in `adopt` because the work item id does
59
- * not exist until the create lands, and in `link` for the same order so there is
60
- * **one** recovery path rather than two. So the failure this can leave is always
61
- * the same shape: the ADO end written, the GitHub end not. `pharos issue link
62
- * <repo#n> <id>` completes exactly that, and `adopt` reports the created id and
63
- * that command when the comment fails rather than only reporting the error — a
64
- * work item nobody can name is worse than a failed call.
65
- *
66
- * ## What "already linked" means, and the three places it is asked
67
- *
68
- * The GitHub comment is the index, and it is the *first* thing read: an issue
69
- * carrying a marker is already adopted, `adopt` returns the work item it names,
70
- * exit 0, nothing written. That is the property an agent that retries depends
71
- * on.
72
- *
73
- * **It is not sufficient on its own, and that cost a real duplicate.** In the
74
- * half-linked state — the work item created, the comment not — the marker was
75
- * never posted, so the index is silent about a work item that already exists.
76
- * A retry there used to create a *second* one: its own id, its own place in a
77
- * sprint, its own notifications, on a client's board, and nothing in this app
78
- * removes it. That state is exactly the one a retry follows, because it is the
79
- * one that just returned an error.
80
- *
81
- * So before creating anything, two more questions are asked, cheapest first,
82
- * and either of them makes `adopt` **refuse** and hand over the same
83
- * `pharos issue link` command the failure itself carried:
84
- *
85
- * 1. **This machine.** `half-link.ts` records an adoption between the create
86
- * and the comment, and removes it when the comment lands. Local, so the
87
- * refusal costs no round trip — and it is the **only** guard left when the
88
- * board cannot be asked at all, which is a state this deliberately does not
89
- * treat as fatal. It also knows *which* work item this machine created and
90
- * when, where a scan can only infer it. An entry is *verified* against Azure
91
- * DevOps before it is believed, so a work item that was since deleted cannot
92
- * wedge a legitimate adoption.
93
- * 2. **The board**, for everything the first cannot see: a retry from another
94
- * machine, another checkout, or after the journal was lost. Azure DevOps has
95
- * no query over relation URLs, so this narrows on `[System.HyperLinkCount]`
96
- * and matches the URLs client-side — see `issue-scan.ts` ▸
97
- * {@link adoptGuardWiql}, which explains why it is capped and why it is not
98
- * the statement `drift` uses. A failed guard query is reported and does not
99
- * block the adoption: this is a safety net, and one that refuses to adopt
100
- * because it could not run would be worse than the thing it prevents.
101
- *
102
- * `pharos issue drift` is still the sweep that finds a half-linked pair nobody
103
- * retried, and reports it as `one-sided` with the same repair.
104
- */
105
- /** The Basic process's name for a reported problem. Overridden with `--type`. */
106
- const DEFAULT_WORK_ITEM_TYPE = "Issue";
107
8
  export async function runIssue(io, session, positionals, options) {
108
9
  const verb = positionals[0];
109
10
  switch (verb) {
@@ -170,7 +71,10 @@ async function runAdopt(io, session, positionals, options) {
170
71
  // when it finds one; a second work item is the damage this whole verb has to
171
72
  // avoid.
172
73
  const boardCheck = await refuseIfAlreadyTracked(session, coordinate);
173
- const type = options.type ?? DEFAULT_WORK_ITEM_TYPE;
74
+ // **RESOLVED, NOT NAMED** (#872). `"Issue"` was hardcoded here and is right
75
+ // on Basic by accident — on Agile it means an impediment. See `adopt-type.ts`.
76
+ const chosen = await resolveWorkItemType(session, issue, { type: options.type });
77
+ const type = chosen.type;
174
78
  const title = options.title ?? issue.title;
175
79
  const url = issueUrl(coordinate);
176
80
  const parent = options.parent === undefined ? undefined : await resolveParent(session, options.parent);
@@ -1454,7 +1358,7 @@ async function runBackfill(io, session, positionals, options) {
1454
1358
  });
1455
1359
  }
1456
1360
  const parent = options.parent === undefined ? undefined : await resolveParent(session, options.parent);
1457
- const type = options.type ?? DEFAULT_WORK_ITEM_TYPE;
1361
+ const type = options.type ?? FALLBACK_WORK_ITEM_TYPE;
1458
1362
  const adopted = [];
1459
1363
  const skipped = [];
1460
1364
  const failed = [];