Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
282 commits
Select commit Hold shift + click to select a range
dfb36a9
feat(api): add local runtime attestations
efebarandurmaz May 29, 2026
2ef1955
feat(discovery): clarify url-less local resolution
efebarandurmaz May 29, 2026
4dd28f8
feat(api): add local registry relay discovery aliases
efebarandurmaz May 29, 2026
8aeb162
feat(api): add local delegation endpoint
efebarandurmaz May 29, 2026
956bbb4
feat(sdk): expose local discovery authority surfaces
efebarandurmaz May 29, 2026
93304c0
feat(cli): add local registry relay commands
efebarandurmaz May 29, 2026
cf23db7
feat(evidence): wire root local evidence ledger
efebarandurmaz May 29, 2026
e499434
fix(api): require auth for root evidence writes
efebarandurmaz May 29, 2026
96d6b72
feat(sdk): expose root evidence append inspect
efebarandurmaz May 29, 2026
b746376
fix(api): require auth for root discovery writes
efebarandurmaz May 29, 2026
fc6a5c9
feat(discovery): add provider-specific root aliases
efebarandurmaz May 29, 2026
d5ded4a
feat(cli): add provider discovery options
efebarandurmaz May 29, 2026
5e5e2df
feat(demo): execute local trust fabric scenario
efebarandurmaz May 29, 2026
957ea3f
feat(sim): execute local adversarial harness
efebarandurmaz May 29, 2026
0b40335
feat(agentd): persist local state in sqlite
efebarandurmaz May 29, 2026
c52a2e6
feat(sdk): expose agentd local state health
efebarandurmaz May 29, 2026
81acb3b
feat(discovery): filter incompatible protocol versions
efebarandurmaz May 29, 2026
4a0ca45
feat(discovery): negotiate provider record versions
efebarandurmaz May 29, 2026
c1b9e7d
feat(dht): sign and verify local pointer records
efebarandurmaz May 29, 2026
2191041
feat(relay): expose signed agent card references
efebarandurmaz May 29, 2026
4db5ece
feat(registry): sign local index records
efebarandurmaz May 29, 2026
f7ec091
feat(cli): expose discovery version controls
efebarandurmaz May 29, 2026
a3098dc
feat(sdk): type discovery provider surfaces
efebarandurmaz May 29, 2026
dd12c4e
feat(demo): verify signed provider records
efebarandurmaz May 29, 2026
e45f4a0
feat(core): propagate typed error envelopes
efebarandurmaz May 29, 2026
dd0d003
chore(cli): add workspace binary scripts
efebarandurmaz May 29, 2026
6d96f4e
fix(cli): infer agentd binary name
efebarandurmaz May 29, 2026
4e3b62e
feat(invocation): sign local invocation results
efebarandurmaz May 29, 2026
173712a
feat(invocation): verify signed invocation requests
efebarandurmaz May 30, 2026
5f65a1b
feat(invocation): enforce capability schemas
efebarandurmaz May 30, 2026
10eb7de
feat(sdk): add signed invocation helper
efebarandurmaz May 30, 2026
34e69e7
feat(cli): add invoke command
efebarandurmaz May 30, 2026
f79a06e
feat(discovery): add federation provider
efebarandurmaz May 30, 2026
4db6268
feat(api): expose federation discovery
efebarandurmaz May 30, 2026
a9f3a5b
docs: document federation discovery semantics
efebarandurmaz May 30, 2026
6b3b85f
feat(attestations): record lifecycle evidence
efebarandurmaz May 30, 2026
23590cc
feat(evidence): audit governance lifecycle events
efebarandurmaz May 30, 2026
c830076
feat(adapters): add interop mapping contract
efebarandurmaz May 30, 2026
6205014
feat(dht): reject invalid pointer candidates
efebarandurmaz May 30, 2026
f546fa6
feat(discovery): filter candidates by protocol version
efebarandurmaz May 30, 2026
a4a4081
feat(evidence): add merkle inclusion proofs
efebarandurmaz May 30, 2026
faa3953
feat(policy): hash policy decision objects
efebarandurmaz May 30, 2026
17861e3
feat(core): add approval object issuers
efebarandurmaz May 30, 2026
979b18a
feat(core): add invocation object subjects
efebarandurmaz May 30, 2026
e7c40aa
feat(core): apply capability ontology defaults
efebarandurmaz May 30, 2026
df5b5b2
feat(discovery): mark candidates as non-authoritative
efebarandurmaz May 30, 2026
9f8d941
fix(identity): fail closed on unbound dids
efebarandurmaz May 30, 2026
96dad1d
feat(core): normalize agent card metadata
efebarandurmaz May 30, 2026
37478ad
feat(core): hash runtime attestation objects
efebarandurmaz May 30, 2026
3152ccc
feat(core): extend typed error vocabulary
efebarandurmaz May 30, 2026
f14905d
feat(core): hash trust result objects
efebarandurmaz May 30, 2026
1c0c502
feat(core): hash reputation records
efebarandurmaz May 30, 2026
bdc0ae7
feat(core): bind session grant object identity
efebarandurmaz May 30, 2026
3489745
docs: refresh fides inspection status
efebarandurmaz May 30, 2026
457f662
feat(core): bind lifecycle record subjects
efebarandurmaz May 30, 2026
a4f307a
feat(evidence): add privacy-aware v2 exports
efebarandurmaz May 30, 2026
b32d5bb
docs: clarify agentd cli alias
efebarandurmaz May 30, 2026
2796023
feat(adapters): include trust in generic mappings
efebarandurmaz May 30, 2026
b6c7b14
feat(sdk): expose candidate-only discovery results
efebarandurmaz May 30, 2026
4fa0d7d
docs(api): add federation discovery contract
efebarandurmaz May 30, 2026
c4edc49
feat(sdk): support evidence export privacy options
efebarandurmaz May 30, 2026
75e9936
feat(agentd): mirror local state into sqlite tables
efebarandurmaz May 30, 2026
55e03cf
feat(adapters): add rust primitive adapter contract
efebarandurmaz May 30, 2026
ae0db74
feat(sdk): add agit primitive bridge
efebarandurmaz May 30, 2026
e71bf33
feat(cli): add privacy options to evidence export
efebarandurmaz May 30, 2026
a4680e5
docs(api): align evidence privacy enum
efebarandurmaz May 30, 2026
3ba09eb
fix(examples): use generated fides identities
efebarandurmaz May 30, 2026
2f81f7d
docs(discovery): document url-less resolution
efebarandurmaz May 30, 2026
6712754
test(cli): cover demo and simulation commands
efebarandurmaz May 30, 2026
059cf9d
docs(api): document root agentd endpoints
efebarandurmaz May 30, 2026
2020525
test(api): guard agentd openapi route drift
efebarandurmaz May 30, 2026
4b6890b
test(sdk): cover trust and reputation getters
efebarandurmaz May 30, 2026
30c659c
feat(cli): add root session incident killswitch commands
efebarandurmaz May 30, 2026
a00de37
feat(cli): add root revocation commands
efebarandurmaz May 30, 2026
7e84448
feat(cli): add root runtime attestation command
efebarandurmaz May 30, 2026
f5e389c
feat(cli): add attestation inspect commands
efebarandurmaz May 30, 2026
8e06be4
feat(cli): add agent registration commands
efebarandurmaz May 30, 2026
c16facd
feat(cli): wire root agent card commands
efebarandurmaz May 30, 2026
e20fda0
feat(cli): add approval commands
efebarandurmaz May 30, 2026
9785be4
feat(cli): wire root delegation command
efebarandurmaz May 30, 2026
fd9d3f6
feat(cli): add trust and reputation root commands
efebarandurmaz May 30, 2026
4b0338a
feat(cli): wire root policy evaluation
efebarandurmaz May 30, 2026
17fc3c2
test(agentd): align demo endpoint with full demo contract
efebarandurmaz May 30, 2026
14a9bc8
feat(evidence): align events with signed object envelope
efebarandurmaz May 30, 2026
857d7a8
fix(evidence): normalize legacy event envelope fields
efebarandurmaz May 30, 2026
e68d9ad
fix(agentd): honor evidence export privacy options
efebarandurmaz May 30, 2026
ee956a2
feat(attest): add identity trust anchor commands
efebarandurmaz May 30, 2026
e9d89ce
feat(sdk): add identity attestation helpers
efebarandurmaz May 30, 2026
e5404cf
docs(api): document identity attestations
efebarandurmaz May 30, 2026
7c895ef
feat(agentd): normalize local agent cards
efebarandurmaz May 30, 2026
3a9b232
fix(dht): reject unadvertised capability pointers
efebarandurmaz May 30, 2026
7a755f5
feat(invocation): validate requests against session grants
efebarandurmaz May 30, 2026
8ea26e8
feat(agentd): enforce invocation grant validation
efebarandurmaz May 30, 2026
46511ca
fix(invocation): require issuer-bound proofs
efebarandurmaz May 30, 2026
b14e046
fix(delegation): add issuer-bound session grant verification
efebarandurmaz May 30, 2026
29fa335
fix(approval): add issuer-bound authority verification
efebarandurmaz May 30, 2026
cd2cced
fix(revocation): add issuer-bound record verification
efebarandurmaz May 30, 2026
941b65d
fix(registry): add issuer-bound record verification
efebarandurmaz May 30, 2026
95b52c6
fix(dht): bind pointer signatures to publisher
efebarandurmaz May 30, 2026
cefac27
fix(cards): add identity-bound agent card verification
efebarandurmaz May 30, 2026
8506236
fix(discovery): require identity-bound dht agent cards
efebarandurmaz May 30, 2026
d1bf398
fix(discovery): require identity-bound relay agent cards
efebarandurmaz May 30, 2026
17cedd1
fix(discovery): require identity-bound local registry cards
efebarandurmaz May 30, 2026
96d3f1b
fix(agentd): enforce identity-bound agent card verification
efebarandurmaz May 30, 2026
617c7a9
fix(agentd): require signed cards for registration
efebarandurmaz May 30, 2026
22added
fix(agentd): reverify local discovery cards
efebarandurmaz May 30, 2026
2c57dc4
fix(agentd): reverify registry and relay cards
efebarandurmaz May 30, 2026
82cf458
feat(agentd): sign root session grants
efebarandurmaz May 30, 2026
ac000ed
feat(agentd): sign local delegation tokens
efebarandurmaz May 30, 2026
a7cfe92
fix(agentd): reject unverified provider records
efebarandurmaz May 30, 2026
1b4262f
fix(sdk): type v2 policy decisions
efebarandurmaz May 30, 2026
b6d654d
docs(api): align policy decision schema
efebarandurmaz May 30, 2026
b0648f2
fix(registry): verify signed agent cards
efebarandurmaz May 30, 2026
31104c0
feat(policy): normalize legacy policy decisions
efebarandurmaz May 30, 2026
a10d9f3
fix(runtime): bind local attestation signatures
efebarandurmaz May 30, 2026
56345d6
fix(core): bind mock tee attestation signatures
efebarandurmaz May 30, 2026
59562b6
fix(discovery): preserve verified local agent cards
efebarandurmaz May 30, 2026
92010a3
fix(examples): use signed local discovery flows
efebarandurmaz May 30, 2026
42e66af
fix(discovery-service): allow url-less local agents
efebarandurmaz May 30, 2026
e4a3631
docs(api): allow url-less discovery agents
efebarandurmaz May 30, 2026
a9368b9
fix(sdk): support url-less discovery registration
efebarandurmaz May 30, 2026
30097e8
docs: align legacy protocol spec with fides v2
efebarandurmaz May 30, 2026
02e7adc
docs: update package quickstarts for v2 signing
efebarandurmaz May 30, 2026
4934862
fix(discovery-service): mark candidates unverified
efebarandurmaz May 30, 2026
0f8d0d8
test(discovery-service): lock candidate response semantics
efebarandurmaz May 30, 2026
43688d0
fix(sdk): type discovery candidate metadata
efebarandurmaz May 30, 2026
f27c050
fix(sdk): invalidate discovery cache on registration
efebarandurmaz May 30, 2026
fc673a6
fix(sdk): invalidate discovery cache on heartbeat
efebarandurmaz May 30, 2026
d1f8ddb
fix(discovery-service): mark presence writes unauthorized
efebarandurmaz May 30, 2026
00f633f
fix(agentd): mark local registrations as candidates
efebarandurmaz May 30, 2026
0dceb83
docs(api): schema local agent candidates
efebarandurmaz May 30, 2026
69002ef
fix(sdk): type local agent candidate responses
efebarandurmaz May 30, 2026
4af290e
docs(sdk): document local agent candidate responses
efebarandurmaz May 30, 2026
ce028b3
fix(authority): enforce dry-run-only session grants
efebarandurmaz May 30, 2026
c4cec75
test(cli): cover federation all-provider discovery
efebarandurmaz May 30, 2026
2072166
fix(cli): tolerate all-provider discovery failures
efebarandurmaz May 30, 2026
01d2a69
feat(sdk): add all-provider discovery orchestration
efebarandurmaz May 30, 2026
20894b6
feat(cli): support agentd identity commands
efebarandurmaz May 30, 2026
e4512b8
docs(cli): document agentd identity mode
efebarandurmaz May 30, 2026
5ab8f7f
docs(api): schema local identity responses
efebarandurmaz May 30, 2026
08ded05
fix(sdk): type identity responses
efebarandurmaz May 30, 2026
509c22c
docs(api): schema local approval responses
efebarandurmaz May 30, 2026
8d659b5
fix(sdk): type approval responses
efebarandurmaz May 30, 2026
21ef917
docs(api): schema local kill switch responses
efebarandurmaz May 30, 2026
be71f06
fix(sdk): type kill switch responses
efebarandurmaz May 30, 2026
e190ae1
docs(api): schema local revocation responses
efebarandurmaz May 30, 2026
c95f00f
fix(sdk): type revocation responses
efebarandurmaz May 30, 2026
3688061
docs(api): schema local incident responses
efebarandurmaz May 30, 2026
811a6b6
fix(sdk): type incident responses
efebarandurmaz May 30, 2026
80303a3
docs(api): schema local attestation responses
efebarandurmaz May 30, 2026
f0490e8
fix(sdk): type attestation responses
efebarandurmaz May 30, 2026
b5fc296
docs(api): schema local evidence responses
efebarandurmaz May 30, 2026
082dabf
fix(sdk): type evidence responses
efebarandurmaz May 30, 2026
297e2d4
docs(api): schema trust reputation delegation responses
efebarandurmaz May 30, 2026
9bd5fd2
fix(sdk): type trust reputation delegation responses
efebarandurmaz May 30, 2026
6903be2
docs(api): schema local agent card responses
efebarandurmaz May 30, 2026
cd02701
fix(sdk): type local agent card responses
efebarandurmaz May 30, 2026
1851fad
docs(api): schema local discovery infrastructure responses
efebarandurmaz May 30, 2026
38d3275
fix(sdk): type discovery infrastructure responses
efebarandurmaz May 30, 2026
cc9b6a7
docs(api): schema demo and simulation responses
efebarandurmaz May 30, 2026
0110162
fix(sdk): type demo and simulation responses
efebarandurmaz May 30, 2026
49542c8
docs: refresh getting started for fides v2
efebarandurmaz May 30, 2026
1208ccd
docs(sdk): lead with fides client quickstart
efebarandurmaz May 30, 2026
f99721d
docs(cli): document agentd authority workflow
efebarandurmaz May 30, 2026
f956dc2
docs: align top-level architecture with fides v2
efebarandurmaz May 30, 2026
1dae3db
docs: refresh readme for fides v2 authority path
efebarandurmaz May 30, 2026
f054a69
docs: clarify agentd as fides v2 deployment surface
efebarandurmaz May 30, 2026
e0554eb
docs(cli): fix workspace agentd invocation
efebarandurmaz May 30, 2026
57fd72c
chore(cli): add root agentd scripts
efebarandurmaz May 30, 2026
416de6c
docs(cli): note silent json mode for pnpm agentd
efebarandurmaz May 30, 2026
f230153
docs: add fides v2 implementation status
efebarandurmaz May 30, 2026
edf453c
docs: record full verification status
efebarandurmaz May 30, 2026
69686b5
test(cli): cover workspace agentd scripts
efebarandurmaz May 30, 2026
d57135a
docs: expand agentd status api overview
efebarandurmaz May 30, 2026
c2df904
docs(examples): align full demo workspace commands
efebarandurmaz May 30, 2026
966ea7a
feat(sdk): expose fides client health check
efebarandurmaz May 30, 2026
aec2573
docs(sdk): show health readiness check
efebarandurmaz May 30, 2026
df53690
feat(cli): add graph inspect command
efebarandurmaz May 30, 2026
4618484
feat(sdk): add graph inspection facade
efebarandurmaz May 30, 2026
3ff79c6
docs: document graph inspection workflow
efebarandurmaz May 30, 2026
c4e64db
feat(cli): add reputation capability shortcut
efebarandurmaz May 30, 2026
7478c8d
feat(sdk): add reputation inspection facade
efebarandurmaz May 30, 2026
3f7968c
feat(cli): default trust evaluation to local agentd
efebarandurmaz May 30, 2026
83ffa2c
test(examples): typecheck example agents in verify
efebarandurmaz May 30, 2026
7bae173
feat(sdk): add runtime attestation helper
efebarandurmaz May 30, 2026
bf9fa7a
feat(sdk): type session authority requests
efebarandurmaz May 30, 2026
326e2a6
feat(sdk): type governance request contracts
efebarandurmaz May 30, 2026
579a412
feat(cli): isolate agentd daemon state
efebarandurmaz May 30, 2026
ec48992
test(agentd): add local dx smoke
efebarandurmaz May 30, 2026
0500032
test(api): audit agentd openapi routes
efebarandurmaz May 30, 2026
e35d5ea
test(agentd): smoke all-provider discovery
efebarandurmaz May 30, 2026
8199a2e
docs: record all-provider discovery smoke
efebarandurmaz May 30, 2026
2167309
test(api): audit documented endpoint summaries
efebarandurmaz May 30, 2026
9c2cbb3
test(sdk): cover root agentd endpoint helpers
efebarandurmaz May 30, 2026
29df5d6
test(agentd): cover sqlite local state mirrors
efebarandurmaz May 30, 2026
1b2276c
docs: document sqlite local state mirrors
efebarandurmaz May 30, 2026
6c09690
test(api): lock demo response contracts
efebarandurmaz May 30, 2026
39cbfd6
docs: refresh fides v2 status snapshot
efebarandurmaz May 30, 2026
fd17264
feat(agentd): mark discovery writes non-authoritative
efebarandurmaz May 30, 2026
ffd0874
test(sdk): expose non-authoritative discovery writes
efebarandurmaz May 30, 2026
55653a8
docs: record non-authoritative discovery writes
efebarandurmaz May 30, 2026
22cd792
feat(agentd): emit discovery evidence events
efebarandurmaz May 30, 2026
7c60719
docs: document discovery evidence events
efebarandurmaz May 30, 2026
2ccaa52
test(agentd): cover provider discovery evidence refs
efebarandurmaz May 30, 2026
dee9511
docs: refresh fides v2 status commits
efebarandurmaz May 30, 2026
2d4eb41
feat(delegation): bind session grants to protocol versions
efebarandurmaz May 30, 2026
0a1ebdd
docs: document version-bound session grants
efebarandurmaz May 30, 2026
c7880cd
feat(agentd): return typed root v2 errors
efebarandurmaz May 30, 2026
b1a13c7
docs(api): document typed error envelopes
efebarandurmaz May 30, 2026
fcb473d
feat(sdk): expose agentd typed errors
efebarandurmaz May 30, 2026
2a31bf1
feat(agentd): type remaining root v2 errors
efebarandurmaz May 30, 2026
8b472a0
feat(cli): surface typed agentd errors
efebarandurmaz May 30, 2026
292055d
fix(cli): catch async entrypoint failures
efebarandurmaz May 30, 2026
18a52f0
docs: refresh fides v2 dx status commits
efebarandurmaz May 30, 2026
25bb2f6
feat(packages): add protocol domain facades
efebarandurmaz May 30, 2026
b9b6967
test(packages): cover protocol facade exports
efebarandurmaz May 30, 2026
c2ca6b7
test(services): require existing test suites
efebarandurmaz May 30, 2026
2e0bbdf
ci: use full verify gate
efebarandurmaz May 30, 2026
d719687
test(cli): audit agentd command surface
efebarandurmaz May 30, 2026
44bad51
docs: refresh fides v2 status gates
efebarandurmaz May 30, 2026
7b7511f
test(examples): audit canonical agent catalog
efebarandurmaz May 30, 2026
edfbff0
docs: record canonical example audit
efebarandurmaz May 30, 2026
99d40b2
test(examples): enforce v2 capability names
efebarandurmaz May 30, 2026
e42eece
docs: record v2 example cleanup
efebarandurmaz May 30, 2026
33a6de8
feat(packages): add daemon and runtime effect boundaries
efebarandurmaz May 30, 2026
221fb7a
docs: record daemon package boundary
efebarandurmaz May 30, 2026
86c719e
feat(packages): publish guard and adapters surfaces
efebarandurmaz May 30, 2026
ebce8df
docs: record public package surface gate
efebarandurmaz May 30, 2026
cb14b16
test(examples): enforce target agent layout
efebarandurmaz May 30, 2026
34971a6
docs: record target example layout gate
efebarandurmaz May 30, 2026
061d14e
test(adapters): audit rust adapter readiness
efebarandurmaz May 30, 2026
d2d9e48
docs: record rust adapter readiness gate
efebarandurmaz May 30, 2026
ad606ec
feat(delegation): add canonical delegation tokens
efebarandurmaz May 30, 2026
c6a7c1e
docs: record canonical delegation tokens
efebarandurmaz May 30, 2026
7299649
feat(agentd): accept canonical delegation tokens
efebarandurmaz May 30, 2026
e7263e7
test(cli): stabilize entrypoint failure formatting test
efebarandurmaz May 30, 2026
c066f90
feat(cli): sign invocation requests
efebarandurmaz May 30, 2026
11b4cad
feat(cli): accept signed delegation tokens
efebarandurmaz May 30, 2026
3ab5ec2
docs: document signed authority cli flows
efebarandurmaz May 30, 2026
ee009f3
test(cli): smoke signed authority flows
efebarandurmaz May 30, 2026
9c89cfc
docs: add contribution guide
efebarandurmaz May 30, 2026
6e7e4af
docs: add release notes snapshot
efebarandurmaz May 30, 2026
88196d4
ci: run agentd dx smoke
efebarandurmaz May 30, 2026
101bf68
docs: improve public package readmes
efebarandurmaz May 30, 2026
6aa837a
test(cli): audit phase 22 command matrix
efebarandurmaz May 30, 2026
9233602
test(cli): audit delegation command surface
efebarandurmaz May 30, 2026
9421fdf
test(docs): audit fides v2 documentation contract
efebarandurmaz May 30, 2026
4522ae3
feat(attestations): add generic attestation object
efebarandurmaz May 30, 2026
7e34fed
feat(attestations): expose generic attestation facade
efebarandurmaz May 30, 2026
1199fa3
feat(agentd): add generic attestation api
efebarandurmaz May 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
24 changes: 7 additions & 17 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,27 +38,17 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Check package hygiene
run: pnpm package:hygiene

- name: Build
run: pnpm build

- name: Check public package packs
run: pnpm package:packcheck

- name: Lint
run: pnpm lint

- name: Typecheck
run: pnpm typecheck

- name: Test
run: pnpm test
- name: Verify
run: pnpm verify
env:
DATABASE_URL: postgresql://fides:fides@localhost:5432/fides
AGENTD_POSTGRES_TEST_REQUIRED: 'true'

- name: Agentd CLI smoke
run: pnpm smoke:agentd
env:
AGENTD_DX_SMOKE_PORT: '4819'

docker-build:
runs-on: ubuntu-latest
strategy:
Expand Down
13 changes: 2 additions & 11 deletions .github/workflows/npm-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,8 @@ jobs:
- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Check package hygiene
run: pnpm package:hygiene

- name: Build
run: pnpm build

- name: Check public package packs
run: pnpm package:packcheck

- name: Test
run: pnpm test
- name: Verify
run: pnpm verify

- name: Publish public packages
run: |
Expand Down
108 changes: 108 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
# Contributing to FIDES

FIDES is a TS-first Agent Trust Fabric. Contributions should preserve the
protocol invariants that make discovery, trust, authority, policy, and evidence
separate layers.

## Before You Start

Use Node.js 22+ and pnpm 10.

```bash
pnpm install
pnpm verify
```

For local daemon and CLI smoke testing:

```bash
pnpm smoke:agentd
```

## Architecture Rules

- Discovery must never grant authority. Discovery results are candidates only.
- Identity must never imply trust. A valid DID can still be low trust.
- Trust scores must never imply permission. Policy decisions issue authority.
- Policy must run before execution, signing, or external side effects.
- Evidence must be privacy-aware. Prefer hash-only or redacted inputs/outputs.
- Signed protocol objects must use the shared canonical signing model.
- Public protocol objects and SDK APIs must stay framework-agnostic and
Promise-based.
- FIDES is TS-first and Rust adapter-ready. Do not make Rust required for the
first working path.
- OAPS concepts should be ported into FIDES-owned runtime types rather than
added as a runtime dependency.
- Sardis-specific payment execution belongs in Sardis. FIDES owns generic
authority, trust, policy, delegation, and evidence primitives.

## Code Changes

Keep changes scoped and atomic. Prefer the existing package boundaries and
helpers before introducing new abstractions.

Use focused tests for the changed package, then run the relevant repository
gate:

```bash
pnpm --filter @fides/core test
pnpm --filter @fides/cli test
pnpm api:audit
pnpm cli:audit
pnpm examples:audit
pnpm package:hygiene
pnpm package:packcheck
pnpm verify
```

For public package changes, keep package metadata, README, LICENSE, exports,
and dry-run package contents aligned with `scripts/public-packages.mjs`.

## Security-Sensitive Work

Treat identity, signatures, delegation, sessions, policy, evidence, revocation,
incidents, kill switches, API keys, and storage as security-sensitive.

Look for:

- signature or issuer-binding bypasses
- replay and nonce mistakes
- policy-after-execution ordering bugs
- authority granted by discovery, registry, relay, or DHT paths
- raw sensitive input/output leaking into evidence
- private key, token, or API key exposure
- revocation, incident, or kill switch bypasses

Do not log secrets or private keys. Use stable typed `ErrorEnvelope` responses
for public API/SDK/CLI failure surfaces.

## Documentation

Update docs when behavior changes. Prefer concrete flows and file paths over
abstract claims.

Common docs to update:

- `README.md`
- `docs/status/fides-v2-implementation-status.md`
- `docs/api-reference.md`
- `docs/cli-reference.md`
- `docs/sdk-reference.md`
- `docs/protocol/*`
- `docs/api/agentd.yaml`

If an implementation is local mock, adapter-ready, or spec-complete rather than
production-like, say so explicitly.

## Pull Requests

Before opening a PR:

1. Rebase or merge current `main`.
2. Run `pnpm verify`.
3. Run `pnpm smoke:agentd` for CLI/API/daemon changes.
4. Include what changed, what was verified, and any known limitations.
5. Keep commits atomic and descriptive.

Do not claim production readiness for local mock registry, relay, DHT,
federation, or TEE surfaces.
Loading
Loading