Instala un grafo beta exacto
G2 es público en el grafo coordinado 0.4.0-beta.1. Fija pliego-data, pliego-router, pliego-runtime y cada dependencia pliego-* a esa versión exacta y trátalas como un solo contrato de aplicación indivisible.
[dependencies]
pliego-data = "=0.4.0-beta.1"
pliego-router = "=0.4.0-beta.1"
pliego-runtime = "=0.4.0-beta.1"Sella la autoridad de datos antes de servir
pliego-data registra recursos tipados y capabilities antes de que NativeRuntime selle el grafo de rutas, loaders, actions, cache e invalidación. Una declaración no es autoridad: grants de ruta, capabilities del provider, requisitos del action o loader y política del operador deben intersectar antes de emitir un lease.
- DataContext
- Valores admitidos, deadline, cancelación, cleanup, grants y recibos redactados
- LoaderPolicy
- Schemas tipados de entrada/salida, output inmutable limitado, recursos y deduplicación local al request
- ActionPolicy
- Entrada estricta, hooks de auth, estado de commit, idempotencia, intención de invalidación y navegación
- Runtime contract
- Proyección canónica de rutas, recursos, loaders, actions, cache e invalidación con un SHA-256
Mantén la mutación útil sin JavaScript
El login y la mutación de cuenta de referencia son formularios HTML ordinarios. La misma política de action admite form, JSON, gzip o multipart solo cuando se configura explícitamente; valida Origin, CSRF vinculado a sesión, autenticación, autorización de aplicación, campos desconocidos, bytes codificados y decodificados y output antes de que el código de aplicación reciba entrada tipada.
- Idempotency
- Vincula key, revisión del action, partición del principal, entrada admitida y epoch de deployment
- Commit
- Distingue sin commit, committing, committed, outcome unknown y compensación requerida
- Uploads
- Limita fields, partes, filenames, archivos, storage temporal total, decoding y cleanup
- Failures
- Devuelve errores 422 tipados y accesibles, rechazo CSRF 403 o conflicto idempotente 409
Separa identidad de autoridad de cache
Las sesiones opacas server-side rotan en login, rechazan incompatibilidad de schema y expiración, y se revocan mediante el store configurado. Los claims identifican un principal; la autorización de la aplicación sigue ejecutándose junto a los recursos protegidos. Las políticas de cache declaran de forma independiente dominios public, private-request o private-session, Vary exacto, particiones estructuradas, freshness, límites, epoch de compatibilidad y comportamiento de fill.
Inspecciona contratos y recibos
cargo run -p fullstack-pliego -- contract .pliego/runtime-contract.json
cargo run -p pliego-cli -- inspect action rename-account --contract .pliego/runtime-contract.json
cargo run -p pliego-cli -- why request runtime-receipt.json
cargo run -p pliego-cli -- why cache cache-receipt.jsonLas entradas diagnósticas son limitadas, versionadas y verificadas contra contrato. Las explicaciones muestran identidad estable de política, outcome aproximado, estado de commit y acknowledgements y digests, mientras excluyen bodies, claims, identidades, keys de cache crudas, valores y secretos.