Skip to main content

PRD-027 — Agentic Identity, Delegation & Credentialed Agency

1. Objetivo​

O PRD-027 define a camada de identidade e autoridade delegada do Agentic Work.

Com os PRDs anteriores, já temos:

  • usuários;
  • tenants;
  • agentes especialistas;
  • capabilities;
  • policies;
  • integrações externas;
  • workflows;
  • decisões;
  • auditoria.

Agora precisamos responder de forma inequívoca:

Quem está agindo, em nome de quem, com qual autoridade e utilizando qual credencial?

O objetivo é impedir que o conceito de “agente” se transforme em uma identidade privilegiada capaz de fazer tudo.

A regra fundamental será:

User Identity
↓
Delegation
↓
Agent Identity
↓
Capability
↓
Policy
↓
Credential
↓
External Operation

2. Princípio Fundamental

O Agentic Work deverá distinguir quatro conceitos:

ConceitoSignificado
IdentityQuem é a entidade
AuthorityO que ela pode fazer
DelegationQuem concedeu a autoridade
CredentialComo a operação é autenticada no sistema alvo

Portanto:

Identity ≠ Permission
Permission ≠ Credential
Credential ≠ Delegation

3. Exemplo

Um usuário solicita:

“Atualize o treinamento desse funcionário no LMS.”

Não basta saber que:

training-agent

está executando.

Precisamos preservar:

Haroldo
↓
solicitou operação
↓
Supervisor Agent
↓
Training Agent
↓
training.external.update
↓
Policy
↓
LMS Credential

A auditoria deverá conseguir reconstruir essa cadeia.


4. Arquitetura

USER
│
▼
Authentication
│
▼
User Session
│
▼
Agent Delegation Layer
│
▼
Agent Identity
│
▼
Capability Registry
│
▼
Policy Engine
│
▼
Credential Resolver
│
▼
External Integration Gateway
│
▼
External System

5. Identity Model

O sistema deverá possuir identidades distintas:

HUMAN
AGENT
SERVICE
SYSTEM
EXTERNAL

Exemplo:

type PrincipalType =
| "HUMAN"
| "AGENT"
| "SERVICE"
| "SYSTEM"
| "EXTERNAL";

6. Principal

Todos os atores deverão ser representados por um Principal.

interface Principal {
principalId: string;

type: PrincipalType;

tenantId?: string;

status: "ACTIVE" | "SUSPENDED" | "REVOKED";

createdAt: string;
}

7. Human Principal

Representa o usuário autenticado.

interface HumanPrincipal extends Principal {
type: "HUMAN";

userId: string;

roles: string[];

permissions: string[];
}

O userId deverá vir do sistema de identidade/autenticação confiável.

Nunca deverá ser confiado a um campo enviado pelo LLM.


8. Agent Principal

interface AgentPrincipal extends Principal {
type: "AGENT";

agentId: string;

agentVersion: string;

parentAgentId?: string;

delegationId?: string;
}

9. Agent Identity ≠ User Identity

O agente deverá possuir identidade própria.

Porém:

Agent = executor
User = authority source

quando a ação for iniciada pelo usuário.

Isso permite distinguir:

“O agente executou”

de:

“O usuário autorizou.”


10. Delegation

Delegation representa a autorização para um agente atuar dentro de determinado escopo.

interface AgentDelegation {
delegationId: string;

delegatorPrincipalId: string;

delegatePrincipalId: string;

tenantId: string;

scopes: string[];

capabilities: string[];

resources?: ResourceScope[];

validFrom: string;

expiresAt: string;

status:
| "ACTIVE"
| "EXPIRED"
| "REVOKED";
}

11. Delegation Chain

Em um sistema multi-agent:

User
↓
Supervisor
↓
Training Agent

deverá existir:

delegationChain:
[
user → supervisor,
supervisor → training-agent
]

Isso permitirá verificar a origem da autoridade.


12. Authority Cannot Expand

A regra mais importante:

Delegação só pode manter ou reduzir autoridade; nunca aumentá-la.

Se:

User:
training.read

o Supervisor não poderá delegar:

training.write

ao Training Agent.

Formalmente:

AgentAuthority ⊆ DelegatorAuthority

considerando também as políticas sistêmicas.


13. Capability Scope

Delegação poderá ser limitada por capability.

scopes:
- training.getStatus
- training.getCertificate

Isso é preferível a:

scope: training.*

quando apenas duas operações são necessárias.


14. Resource Scope

A delegação também poderá ser limitada a recursos.

interface ResourceScope {
resourceType: string;

resourceIds?: string[];

filters?: Record<string, unknown>;
}

Exemplo:

Training Agent
→ pode consultar apenas os funcionários vinculados à Work Permit WP-10231

15. Time-Bound Delegation

Delegações deverão ter validade.

validFrom
expiresAt

Isso impede permissões eternas.

Exemplo:

Delegation:
15:00 → 15:10

Depois disso:

EXPIRED

16. Explicit Revocation

Uma delegação deverá poder ser revogada imediatamente.

ACTIVE
↓
REVOKED

A revogação deverá ser considerada pelo Policy Engine antes de cada operação relevante.


17. Delegation Token

Quando apropriado, a delegação poderá ser representada por um token de curta duração.

O token deverá conter somente informações necessárias, como:

subject
issuer
audience
tenant
scopes
delegationId
issuedAt
expiresAt

Nunca deverá conter segredos desnecessários.


18. Short-Lived Tokens

Tokens de agente deverão possuir vida curta.

Exemplo conceitual:

User authentication
↓
Delegation token
↓
Agent execution
↓
expires

Não deverá existir um token universal permanente para o Agentic Work.


19. Audience Restriction

Um token destinado ao:

Training Gateway

não deverá ser aceito pelo:

Payroll Gateway

Portanto deverá existir um audience explícito.

aud = training-gateway

20. Scope Restriction

O token também deverá possuir scopes mínimos.

training.read

não deverá permitir:

training.write

21. Credential Types

O Credential Manager deverá suportar abstrações para:

API Key
OAuth Access Token
OAuth Refresh Token
JWT
mTLS Certificate
Service Account
Basic Authentication
Signed Request

O Gateway decidirá qual mecanismo utilizar.


22. Credential Vault

Credenciais deverão ser armazenadas em um Credential/Secret Store apropriado.

O Agent Runtime deverá receber apenas:

credential reference

e nunca:

raw secret

23. Credential Reference

interface CredentialReference {
credentialId: string;

integrationId: string;

tenantId: string;

purpose: string;

status: "ACTIVE" | "EXPIRED" | "REVOKED";
}

24. Credential Resolver

Fluxo:

Capability
↓
Integration
↓
Tenant
↓
Credential Reference
↓
Credential Resolver
↓
Secret Store
↓
Authenticated Request

O secret deverá permanecer dentro da infraestrutura de execução.


25. Credential Isolation

Uma credencial de:

Tenant A / LMS

jamais poderá ser usada por:

Tenant B / LMS

mesmo que ambos usem o mesmo adapter.


26. Credential Purpose Binding

Uma credencial poderá ser limitada a uma finalidade.

Exemplo:

credential:
lms-read-only

não deverá ser utilizada por:

training.external.update

27. Read vs Write Credentials

Quando o fornecedor permitir, deverão existir credenciais separadas:

LMS_READ
LMS_WRITE

Isso reduz o blast radius.


28. Credential Rotation

O sistema deverá suportar:

ACTIVE credential
↓
NEW credential
↓
VALIDATION
↓
CUTOVER
↓
OLD credential revoked

A rotação não deverá exigir alteração do Agent Runtime.


29. OAuth

Para integrações OAuth, deverá existir:

Authorization Server
↓
Access Token
↓
External Gateway

Tokens expirados deverão ser renovados de maneira controlada.

O LLM nunca participa do processo de refresh.


30. Refresh Token

Refresh tokens deverão permanecer exclusivamente no Credential/Identity Layer.

Nunca:

LLM → refresh_token

31. User-Delegated OAuth

Quando o sistema externo suportar delegação por usuário:

User
↓
OAuth Consent
↓
External Account
↓
Delegated Credential

a associação deverá ser explicitamente armazenada.


32. Consent

Algumas integrações poderão exigir consentimento do usuário.

Exemplo:

“Permitir que o Agentic Work consulte seu calendário corporativo?”

O consentimento deverá possuir:

purpose
scopes
integration
user
tenant
timestamp
expiration

33. Reauthentication

Operações de alto risco poderão exigir autenticação novamente.

Exemplo:

User authenticated
↓
Agent operation
↓
HIGH RISK
↓
Step-up authentication
↓
Continue

Isso é diferente de uma simples confirmação textual.


34. Confirmation vs Reauthentication

Confirmation​

“Deseja realmente liberar esta permissão?”

Reauthentication​

“Confirme sua identidade novamente para executar esta operação.”

São mecanismos distintos.


35. Service Identity

Alguns workflows automáticos não terão um usuário ativo.

Exemplo:

TrainingExpirationScanner

Nesse caso:

SYSTEM
↓
Service Principal
↓
Workflow
↓
Capability

A operação deverá possuir uma policy explícita.


36. System-Triggered Operations

Um evento como:

TrainingExpired

poderá iniciar um workflow.

Mas o sistema não deverá assumir automaticamente que:

SYSTEM

tem permissão para qualquer operação.


37. Machine-to-Machine Authorization

Serviços internos também deverão utilizar identidade.

Workflow Runtime
↓
Service Identity
↓
Capability
↓
Policy

Não deverá existir uma “shared secret” global utilizada por todos os Workers.


38. Internal Service Identity

interface ServicePrincipal extends Principal {
type: "SERVICE";

serviceId: string;

serviceVersion: string;

allowedAudiences: string[];
}

39. mTLS

Quando necessário, integrações de alto nível de segurança poderão utilizar:

mTLS

com certificado associado ao integration identity.

O certificado deverá ser gerenciado pelo Credential Layer.


40. External Identity Mapping

Um funcionário poderá possuir IDs diferentes:

SST:
EMP-104

HR:
A-8732

LMS:
worker-99281

O Identity Mapping Layer deverá relacioná-los.

interface ExternalIdentityMapping {
internalEntityType: string;

internalEntityId: string;

integrationId: string;

externalEntityType: string;

externalEntityId: string;

verified: boolean;
}

41. Identity Resolution

Exemplo:

Work Permit
WP-10231
↓
Employee
EMP-104
↓
LMS identity
worker-99281

A resolução deverá ser determinística sempre que possível.


42. Ambiguous Identity

Se houver:

EMP-104
→ LMS worker-1
→ LMS worker-2

o agente não deverá escolher arbitrariamente.

Resultado:

IDENTITY_AMBIGUOUS

e deverá solicitar resolução.


43. Tenant Identity Boundary

O mapping deverá conter tenantId.

Isso impede:

Tenant A:
EMP-104

Tenant B:
EMP-104

de serem tratados como a mesma identidade.


44. Delegation Context

Todo request deverá transportar um contexto equivalente a:

interface AgencyContext {
actor: Principal;

delegator?: Principal;

delegationChain: string[];

tenantId: string;

scopes: string[];

capabilities: string[];

sessionId?: string;

conversationId?: string;

executionId: string;
}

45. Policy Evaluation

O Policy Engine do PRD-008 deverá avaliar:

User
+
Agent
+
Delegation
+
Capability
+
Resource
+
Tenant
+
Context

Não apenas:

Agent → Capability

46. Policy Example

User:
training.write

Agent:
training-agent

Delegation:
training.write

Capability:
training.external.update

Resource:
EMP-104

Tenant:
TENANT-A

Policy:

ALLOW

somente se todas as condições forem satisfeitas.


47. Delegation Violation

Exemplo:

User
→ training.read

Agent
→ training.write

Resultado:

DENY
reason:
DELEGATION_SCOPE_EXCEEDED

48. Delegation Depth

Deverá existir limite de delegação.

User
↓ 1
Supervisor
↓ 2
Training Agent
↓ 3
External Agent

Uma profundidade excessiva deverá ser bloqueada.


49. No Recursive Delegation

Um agente não deverá poder delegar autoridade para si mesmo.

Nem deverá criar uma cadeia circular:

A
↓
B
↓
A

50. Delegation by Capability

A delegação deverá ser preferencialmente orientada a capabilities, e não a APIs.

Correto:

training.getStatus

Não:

POST /api/v1/lms/worker/status

51. Delegation by Resource

Quando possível:

workPermit.updateValidity

poderá ser restringida a:

WP-10231

em vez de todas as permissões do tenant.


52. Bulk Operations

Delegação deverá tratar operações em lote separadamente.

Exemplo:

training.update

não implica:

training.bulkUpdate

Batch deverá exigir capability e policy próprias.


53. Two-Person Rule

Operações críticas poderão exigir duas identidades humanas.

Exemplo:

Agent
↓
Prepare release
↓
Human A approval
↓
Human B approval
↓
Execute

O agente não poderá representar os dois aprovadores.


54. Segregation of Duties

O sistema deverá impedir situações como:

User A creates
↓
same user
↓
approves

quando a policy exigir separação.

Isso deverá integrar-se ao PRD-008.


55. Agent Impersonation

Impersonation deverá ser proibida por padrão.

Não deverá existir:

Agent → "become User B"

sem mecanismo administrativo explícito.

Mesmo quando permitido, deverá gerar auditoria de alto nível.


56. Actor Chain

Toda operação deverá possuir:

initiatedBy
delegatedTo
executedBy
authenticatedAs
authorizedBy

Exemplo:

{
"initiatedBy": "user:EMP-10",
"delegatedTo": "agent:supervisor",
"executedBy": "agent:training",
"authorizedBy": "policy:training-write-v4"
}

57. Audit Integration

O PRD-013 deverá receber:

principal
delegator
delegationId
agentId
credentialId
capabilityId
policyVersion

mas nunca o segredo da credencial.


58. Credential Audit

Deverá ser possível saber:

Qual credencial foi utilizada?

Mas não:

Qual era o valor do segredo?

Exemplo:

credentialId:
cred_lms_tenant_a_01

59. Secret Redaction

Os seguintes valores deverão ser automaticamente redigidos:

Authorization
API-Key
Cookie
Refresh Token
Client Secret
Private Key
Password
Webhook Secret

em logs e traces.


60. Emergency Revocation

Deverá existir capacidade de:

revoke user
revoke agent
revoke delegation
revoke credential
disable integration
disable capability

independentemente.


61. Emergency Kill Chain

Exemplo:

Credential compromised
↓
Revoke Credential
↓
Disable Integration
↓
Invalidate Delegations
↓
Stop Workflows
↓
Alert Security

Isso deverá integrar-se ao PRD-024.


62. Agent Suspension

Se um agente apresentar comportamento anômalo:

training-agent
STATUS = SUSPENDED

As tarefas novas deverão ser bloqueadas.

Tarefas existentes poderão:

pause
cancel
migrate

conforme policy.


63. Credential Health

O Credential Manager deverá monitorar:

expiration
authentication failures
rotation age
usage
provider errors
revocation status

64. Credential Least Privilege

Sempre que possível:

read-only credential

deverá ser usada para operações de leitura.

Uma credencial de escrita somente deverá ser disponibilizada para capabilities que realmente precisam dela.


65. Credential Just-in-Time

Para operações críticas, poderá ser adotado:

Capability Request
↓
Policy
↓
Temporary Credential
↓
Operation
↓
Credential Destroy/Expire

Isso reduz exposição de credenciais.


66. External Gateway Integration

O PRD-025 deverá receber:

AgencyContext
CredentialReference
DelegationId

e nunca simplesmente:

userId

como parâmetro livre.


67. Workflow Integration

Workflows longos deverão preservar a autoridade original.

Se um workflow durar três dias:

Day 1:
User → workflow

Day 3:
workflow → capability

não deverá automaticamente assumir que a autorização original ainda é válida.

Deverá verificar:

delegation expiration
user status
tenant status
policy version
capability status

68. Long-Running Delegation

Para workflows longos, deverá existir uma distinção entre:

User Authorization

e:

Workflow Service Authority

Isso evita manter um token de usuário válido durante toda a vida do workflow.


69. Reauthorization

Antes de uma etapa crítica:

Workflow
↓
Policy
↓
Need reauthorization?
↓
YES
↓
Human approval/authentication

70. Event Fabric

Eventos deverão carregar o ator original.

Exemplo:

{
"eventType": "WorkPermitReleased",
"actor": {
"type": "AGENT",
"agentId": "work-permit-agent"
},
"initiatedBy": {
"type": "HUMAN",
"userId": "USR-104"
}
}

Isso é essencial para auditoria e compliance.


71. External Webhook Identity

Eventos externos deverão possuir identidade do fornecedor:

source:
external-lms

externalPrincipal:
lms-system

tenantBinding:
TENANT-A

O sistema não deverá assumir que qualquer webhook pertence a um tenant.


72. Webhook Authentication

O Gateway deverá validar:

signature
issuer
audience
timestamp
nonce
tenant binding

antes de criar o evento interno.


73. Agent Credential Isolation

Cada agente deverá possuir acesso somente às credenciais necessárias.

Exemplo:

Training Agent
├── LMS read
└── LMS write

Risk Agent
└── nenhuma credencial externa

O Risk Agent não deverá receber a credencial do LMS simplesmente porque outro agente a possui.


74. Cross-Agent Credential Sharing

É proibido:

Agent A
↓
Credential
↓
Agent B

O correto é:

Agent B
↓
Capability
↓
Credential Resolver

O próprio Gateway resolve a credencial.


75. Agent-to-Agent Authentication

Quando agentes forem executados como serviços independentes:

Supervisor
↓
authenticated service request
↓
Training Agent

O receptor deverá validar:

sourceAgent
tenant
delegation
audience
task scope
expiration

76. Agent Contract Security

Além do schema:

inputSchema
outputSchema

o contrato deverá declarar:

requiredScopes
allowedCallers
maxDepth
dataClassification

77. Example Agent Contract

agentId: training-agent

allowedCallers:
- work-permit-supervisor

requiredScopes:
- training.read

dataClassification:
input:
- INTERNAL
output:
- INTERNAL

78. Agent Discovery Security

O Agent Registry não deverá revelar capabilities sensíveis para qualquer agente.

A descoberta deverá ser contextual:

caller
+
tenant
+
task
+
authorization

79. Multi-Tenant Agent Registry

Agentes globais poderão existir:

training-agent

mas sua disponibilidade poderá variar:

Tenant A → ACTIVE
Tenant B → DISABLED
Tenant C → CUSTOM VERSION

80. Tenant-Specific Delegation

Cada tenant poderá possuir policies específicas:

Tenant A:
training.write → confirmation

Tenant B:
training.write → approval

desde que nunca reduzam as proteções globais obrigatórias.


81. Global Security Boundary

A hierarquia será:

Global Security
↓
Tenant Policy
↓
User Permissions
↓
Agent Delegation
↓
Capability Policy
↓
Resource Policy

Uma camada inferior nunca poderá relaxar uma restrição global obrigatória.


82. Authorization Cache

Para performance, decisões poderão ser cacheadas.

Mas o cache deverá incluir:

user
agent
tenant
delegation
capability
resource
policyVersion
expiration

Uma mudança crítica deverá invalidar o cache.


83. Performance

O Identity/Delegation Layer deverá ser extremamente rápido.

Meta:

P50 < 5ms
P95 < 20ms

para decisões locais/cacheadas.

Operações externas não entram nesse orçamento.


84. Fail Closed

Em operações críticas:

Identity unavailable

deverá resultar em:

DENY

e não:

ALLOW

85. Security Event Detection

O sistema deverá detectar:

unusual agent activity
credential misuse
cross-tenant attempts
scope escalation
delegation loops
rapid credential switching
abnormal bulk operations

Esses eventos alimentarão o PRD-024.


86. Example — Secure External Operation

Usuário:

“Atualize o treinamento de João.”

Fluxo:

User Authentication
↓
Intent
↓
Supervisor
↓
Training Agent
↓
Delegation Validation
↓
Capability Selection
↓
Policy
↓
Credential Resolver
↓
External Gateway
↓
LMS
↓
Verification
↓
Audit

Em nenhum momento o LLM recebe:

API Key
OAuth Token
Password

87. Example — Unauthorized Delegation

Usuário possui:

training.read

Supervisor tenta delegar:

training.write

resultado:

DELEGATION_SCOPE_EXCEEDED

A operação nem deverá chegar ao External Gateway.


88. Example — Expired Delegation

Delegation:
expiresAt = 14:00

Operation:
14:03

Resultado:

DENY
DELEGATION_EXPIRED

Mesmo que o token de infraestrutura ainda esteja tecnicamente válido.


89. Example — Revoked Credential

Capability
↓
Credential Resolver
↓
credential = REVOKED

Resultado:

EXTERNAL_OPERATION_BLOCKED

O sistema não deverá tentar usar uma credencial antiga armazenada em cache.


90. Integration com todos os PRDs

O PRD-027 passa a funcionar como camada transversal:

PRD-003 Knowledge
PRD-004 Capabilities
PRD-005 Intent
PRD-006 Planner
PRD-007 Tool Runtime
PRD-008 Policy
PRD-009 Knowledge Binding
PRD-010 Conversation
PRD-011 UI
PRD-012 Learning
PRD-013 Audit
PRD-014 Testing
PRD-015 Observability
PRD-016 Release
PRD-017 Multi-Tenant
PRD-019 Workflow
PRD-020 Events
PRD-021 Proactive
PRD-022 Human Attention
PRD-023 Decision
PRD-024 Exception
PRD-025 External Gateway
PRD-026 Multi-Agent
│
▼
PRD-027 Identity & Agency

91. Primeiro Vertical Slice

O primeiro vertical slice deverá implementar:

User​

Human Principal

Agents​

work-permit-supervisor
training-agent

Delegation​

supervisor
→ training-agent

Capability​

training.external.getStatus

External Credential​

tenant-specific LMS read credential

92. Primeiro Teste

Usuário:

“Verifique se o treinamento de João está válido.”

Fluxo:

Human
↓
Supervisor
↓
Delegation
↓
Training Agent
↓
training.external.getStatus
↓
Policy
↓
Credential Resolver
↓
LMS
↓
Verification

Auditoria:

initiatedBy = HUMAN
delegatedTo = supervisor
executedBy = training-agent
capability = training.external.getStatus
credential = credential-reference
tenant = current-tenant

93. Segundo Teste

Usuário:

“Atualize o treinamento de João.”

Se a delegação permitir somente leitura:

DENY

sem qualquer chamada ao LMS.


94. Terceiro Teste

Credencial do tenant A é deliberadamente utilizada em contexto do tenant B.

Resultado obrigatório:

DENY
TENANT_CREDENTIAL_MISMATCH

95. Quarto Teste

Delegação expirada.

Resultado:

DENY
DELEGATION_EXPIRED

96. Quinto Teste

Training Agent tenta chamar diretamente:

https://qualquer-endpoint

Resultado:

DENY
UNREGISTERED_EXTERNAL_DESTINATION

97. Sexto Teste

Training Agent tenta solicitar uma capability fora de seu escopo:

workPermit.approve

Resultado:

DENY
CAPABILITY_NOT_DELEGATED

98. Critérios de Aceitação

  • Principal model implementado.
  • Human Identity implementada.
  • Agent Identity implementada.
  • Service Identity implementada.
  • Delegation model implementado.
  • Delegation chain implementada.
  • Authority subset validation implementada.
  • Capability-scoped delegation implementada.
  • Resource-scoped delegation implementada.
  • Time-bound delegation implementada.
  • Revocation implementada.
  • Short-lived tokens implementados.
  • Audience restriction implementada.
  • Scope restriction implementada.
  • Credential Reference implementada.
  • Credential Resolver implementado.
  • Credential isolation implementada.
  • Credential rotation implementada.
  • OAuth support preparado.
  • User consent model implementado quando necessário.
  • Reauthentication preparado.
  • Service-to-service identity implementada.
  • External identity mapping implementado.
  • Identity ambiguity handling implementado.
  • Agent context implementado.
  • Policy Engine integrado.
  • Delegation depth limit implementado.
  • Recursive delegation protection implementada.
  • Bulk-operation scope separado.
  • Segregation of duties integrado.
  • Impersonation bloqueado por padrão.
  • Audit integrado ao PRD-013.
  • Emergency revocation implementada.
  • Credential health implementado.
  • Credential least privilege implementado.
  • Just-in-time credentials preparado.
  • Agent-to-agent authentication implementada.
  • Agent contract security implementada.
  • Multi-tenant delegation validada.
  • Authorization cache implementado.
  • Fail-closed implementado.
  • Security anomaly events integrados ao PRD-024.
  • Vertical slice LMS funcionando.
  • Testes de privilege escalation passando.
  • Testes cross-tenant passando.
  • Testes de credential isolation passando.

Evidência parcial de implementação — 2026-09-04​

Delegações persistidas e em memória são verificadas contra tenant, delegatário, audience, capability, recurso, período de validade e revogação; a validação de subset impede expansão de privilégios e auto-delegação. A referência de credencial é opaca, tenant-bound e purpose-bound, enquanto o executor externo resolve material de credencial fora do resultado do agente. Envelopes entre agentes restringem receiver/audience e rejeitam autoendereçamento; o gateway registra agência, política e delegação em audit.

Em 2026-09-05, os contratos de delegação, integração e comunicação passaram com 19 testes em 5 arquivos. O canário remoto comprovou cadeia de sete mensagens supervisionadas, ACKNOWLEDGED, causação, cancelamento, replay idempotente, rejeição de ordenação e payload sensível, hashes de corpo/contexto e ausência de autoridade; o cleanup confirmou remainingRows:0. O slice LMS autenticado também está comprovado pelo binding privado de renovação/confirmação. OAuth/OIDC, mTLS, rotação de credencial, cache de autorização e JIT credentials permanecem abertos para prova dedicada.

Em 2026-09-06, a regressão atual de autenticação, delegações e comunicação entre agentes passou com 17 testes. O typecheck do Agent passou novamente, e o health público do Worker confirmou runtime e bindings. A classificação PROVEN_CLOUDFLARE permanece apoiada no canário remoto já registrado; OAuth/OIDC, mTLS, rotação de credencial, cache de autorização e JIT credentials continuam fora do recorte comprovado.

Em 2026-09-07, o canário remoto de swarm confirmou delegação tenant-bound, contexto apenas hashado, conflito REVIEW_REQUIRED, anti-auto-validação, handoffs idempotentes, cancelamento e timeout duráveis sem conceder autoridade de execução. O cleanup PostgreSQL confirmou remainingRows:0.


99. Resultado Arquitetural

Com o PRD-027, finalmente teremos uma distinção formal entre:

WHO?
│
Identity
│
WHY?
│
Delegation
│
WHAT?
│
Capability
│
ALLOWED?
│
Policy
│
HOW AUTH?
│
Credential
│
WHERE?
│
External Gateway

Isso fecha uma das lacunas mais importantes da arquitetura.

O Agentic Work agora pode ter agentes, workflows e integrações externas, mas nenhum deles recebe autoridade implícita.


PRD-028 — Agentic Knowledge Operations & Continuous Knowledge Fabric

O próximo PRD deverá atacar outro ponto fundamental: o conhecimento do agente não pode ser estático.

A arquitetura já possui:

TypeDoc
Docusaurus
Markdown
Obsidian
HAG
Keyword Index
BM25
Wikilinks
Vectorize
Semantic IDs

Mas agora teremos também:

Business Events
External Systems
Workflows
Decisions
Operational Learning
Documents
User Corrections

O PRD-028 deverá definir uma Knowledge Fabric contínua, capaz de transformar esses sinais em conhecimento estruturado, versionado, temporal, proveniente de fontes confiáveis e continuamente sincronizado com o HAG existente.

O objetivo será fazer com que o Agentic Work consiga responder não apenas:

“O que a documentação diz?”

mas também:

“Qual é o estado atual?”

“O que mudou?”

“Qual fonte é mais confiável?”

“Quando essa informação deixou de ser válida?”

“Qual decisão ou evento produziu esse conhecimento?”

A arquitetura prevista será:

Documentation ─────┐
Business APIs ─────┤
External Systems ──┤
Events ────────────┤
Workflows ─────────┤
Decisions ─────────┤
Operational Data ──┤
User Feedback ─────┘
│
▼
Knowledge Ingestion
│
▼
Validation & Provenance
│
▼
Temporal Knowledge
│
▼
HAG / Graph
│
┌────┴────┐
▼ ▼
BM25/Index Vectorize
│ │
└────┬────┘
▼
Agent Knowledge Layer

E, principalmente, esse PRD deverá definir a separação entre conhecimento estático, conhecimento operacional, fatos temporais, eventos, documentos, inferências e conhecimento aprendido, evitando que o sistema transforme automaticamente uma inferência do LLM em “verdade” permanente.