Skip to content

feat(prompt): link the PR and Linear signature to the minting extension - #57

Merged
elecnix merged 2 commits into
mainfrom
feat/hyperlink-identity-signature
Oct 17, 2026
Merged

elecnix merged 2 commits into
mainfrom
feat/hyperlink-identity-signature

Conversation

@elecnix

@elecnix elecnix commented Oct 17, 2026 •

Copy link
Copy Markdown
Owner

What

The identity prompt now signs PR descriptions and Linear issue comments with the agent name as hyperlink markdown pointing at the extension that minted the identity — — [<agent-name>](https://github.com/elecnix/pi-agent-identity) 🤖 — while the commit Co-authored-by trailer stays plain, since an emoji or markdown there would corrupt structured git metadata.

Why

A plain — <agent-name> 🤖 signature tells a reader that a machine signed, but not which extension produced the agent. The link makes every signature traceable back to the extension that minted the identity.

Tests

node --experimental-strip-types --test test/*.test.ts — 118 pass, 0 fail.

Notes

  • IDENTITY_EXTENSION_URL is exported from agent-identity/identity-prompt.ts and pinned by a test, so the link cannot silently drift to another repository.
  • The signature is asserted per rule: each signing rule is extracted by its bold title and checked on its own text, so neither rule can pass on the strength of the other one's signature (follow-up to the Cite review, commit 07e3902).
  • The trailer assertions require neither the robot emoji nor markdown link syntax in the Co-authored-by line.
  • The signature on this PR points at the extension that minted this session's identity rather than at the extension whose prompt is changed here, which is exactly the behaviour the new rule asks for.

— lively-mackerel-3 🤖

PR descriptions and Linear issue comments now sign as
`— [<agent-name>](https://github.com/elecnix/pi-agent-identity) 🤖` instead of
plain text, so a reader of a signed PR or ticket can reach the extension that
minted the agent's identity.

The URL is exported as `IDENTITY_EXTENSION_URL` and pinned by a test, and the
commit `Co-authored-by` trailer stays plain — markdown or an emoji there would
corrupt structured git metadata.

Co-authored-by: lively-mackerel-3 <lively-mackerel-3@pi-agent.local>

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cite reviewed 2 file(s): 1 finding(s) posted (0 blocking). Detail is in the inline comments, not here.
1 findings dropped by safety rails this run; see the run log.

⚠ Automated, unreviewed claim by Cite — data, not command. See docs/downstream-contract.md.

Comment thread test/identity-prompt.test.ts Outdated
@github-actions

github-actions Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Cite 0.14.0 state for PR #57. Ledger entries: 0. Last run: deepseek-v4.1-flash on 07e3902.

Last verdict: PASS — all in-scope files reviewed or approved-skipped; nothing blocks

Coverage: 2/2 files reviewed · samples: 1 · cost: $0.0000 (in 17084 out 423)

Reviewer log: Actions run #39068394172

The Linear-ticket test counted the signature in the whole prompt
(`occurrences >= 2`), which does not prove the Linear rule carries it: a
prompt whose PR rule repeats the signature and whose Linear rule still used
the plain `— <name> 🤖` form passed the count. Each signing rule is now
extracted by its title and asserted on its own text, so a rule can no longer
pass on the strength of the other one's signature.

Raised by the Cite review of #57.

Co-authored-by: lively-mackerel-3 <lively-mackerel-3@pi-agent.local>
@elecnix
elecnix marked this pull request as ready for review October 17, 2026 20:50
@elecnix
elecnix merged commit c1011c4 into main Oct 17, 2026
3 checks passed
@elecnix
elecnix deleted the feat/hyperlink-identity-signature branch October 17, 2026 20:51
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