Especificaciones
C · Ingesta de requerimientos
Épica C — Ingesta de requerimientos
Estado: Borrador · Última actualización: 2026-08-24 · Índice: README
Cubre la incorporación al proyecto del material funcional que originará los casos de uso: carga por texto pegado o archivo de texto/Markdown, documento de origen inmutable y versionado, y la vinculación opcional a tickets de Argos Operaciones. Reglas de negocio del bloque: RN-018 y RN-019.
HU-006 — Cargar un requerimiento
Épica: C · Ingesta de requerimientos · Deriva de: CU-003 · Cubre: RF-019, RF-020, RF-021, RF-022, RF-023, RF-024 · Reglas: RN-018, RN-019 · Estado: Borrador
Historia
Como QA, quiero incorporar al proyecto el material funcional pegando texto o cargando un archivo, para tener un documento de origen versionado desde el cual generar y trazar los casos de uso.
Objetivo / valor. El requerimiento es el primer eslabón de la cadena de trazabilidad. Se conserva tal como se cargó —inmutable y versionado— para que todo lo que derive de él apunte a una fuente estable, no a un texto que alguien pudo editar por debajo.
Alcance
- Dentro: creación del requerimiento con título y descripción, aporte del contenido por
texto pegado o archivo .md/.txt, validación de formato y tamaño, guardado como documento de origen inmutable y versionado, vinculación opcional a tickets de Argos Operaciones, y la emisión de requirement.ingested.
- Fuera: el análisis con IA del requerimiento (HU-007) y la generación de casos de uso
(bloque D). El contrato fino de la vinculación con Argos Operaciones es documentado, no diseñado.
Actores y permisos
| Rol | Puede |
|---|---|
| Product Manager | Cargar un requerimiento y sus versiones |
| QA | Cargar un requerimiento y sus versiones |
| Developer | Cargar un requerimiento y sus versiones |
| Client | Sin acceso |
Precondiciones
- El usuario tiene rol
Product Manager,QAoDeveloperen el proyecto. - El proyecto está
Activo.
Comportamiento funcional
- Principal. El usuario crea un requerimiento indicando título y descripción breve; aporta
el contenido pegando texto o cargando un archivo .md o .txt; el sistema valida formato y tamaño; el usuario vincula opcionalmente uno o más tickets de Argos Operaciones; el sistema guarda el contenido como documento de origen inmutable, con su versión, autor y timestamp; emite requirement.ingested.
- Alternativo A1 — corregir el contenido cargado. El usuario carga una versión nueva del
documento; el sistema la registra como versión siguiente y conserva la anterior, que sigue siendo el origen de los artefactos que ya derivaron de ella (RN-019).
- Error E1 — formato no soportado. Ante un PDF, DOCX u otro binario, el sistema rechaza la
carga indicando que solo acepta texto plano y Markdown; no intenta una extracción parcial (RN-018).
- Error E2 — excede el tamaño máximo. El sistema rechaza el archivo indicando el límite
vigente (definido en RNF).
- Error E3 — Argos Operaciones no responde al vincular tickets. El requerimiento se guarda igual; la
vinculación queda pendiente y puede completarse después.
Datos y campos (funcional)
- Captura el usuario: título, descripción breve, contenido (texto pegado o archivo
.md/.txt), y opcionalmente uno o más tickets de Argos Operaciones a vincular.
- Deriva el sistema: documento de origen inmutable, número de versión, autor y timestamp
de cada versión.
Reglas de negocio aplicables
- RN-018 — solo se aceptan texto plano y Markdown; cualquier otro formato se rechaza
explícitamente, sin extracción parcial ni conversión silenciosa.
- RN-019 — el documento de origen es inmutable; corregirlo significa cargar una versión
nueva, y la anterior se conserva como fuente de los artefactos que ya derivaron de ella.
Estados y transiciones. No cambia el estado de ninguna entidad de producto; exige que el proyecto esté Activo.
Integraciones (documentado, el dev implementa)
- Argos Operaciones — el sistema vincula el requerimiento a uno o más tickets del
proyecto en Argos Operaciones. La vinculación es opcional y, si Argos Operaciones no responde, queda pendiente sin bloquear el guardado. El contrato fino (endpoint, identificador de ticket) se cierra con PA-006.
Eventos que emite. requirement.ingested al guardar el documento de origen.
Criterios de aceptación
- CA-060
> Dado un QA en un proyecto Activo > Cuando crea un requerimiento con título y descripción y pega texto como contenido > Entonces el sistema guarda el contenido como documento de origen inmutable en su versión inicial, con autor y timestamp, y emite requirement.ingested.
- CA-061
> Dado un requerimiento en creación > Cuando el usuario carga un archivo .md o .txt dentro del límite de tamaño > Entonces el sistema lo acepta y lo conserva como documento de origen versionado.
- CA-062
> Dado un requerimiento en creación > Cuando el usuario intenta cargar un PDF, DOCX u otro binario > Entonces el sistema lo rechaza indicando que solo acepta texto plano y Markdown, sin intentar una extracción parcial.
- CA-063
> Dado un requerimiento en creación > Cuando el usuario carga un archivo que excede el tamaño máximo > Entonces el sistema lo rechaza indicando el límite vigente.
- CA-064
> Dado un requerimiento con un documento de origen ya guardado > Cuando el usuario carga una versión nueva del documento > Entonces el sistema la registra como versión siguiente y conserva la anterior como origen de los artefactos que ya derivaron de ella.
- CA-065
> Dado un requerimiento en creación con tickets de Argos Operaciones por vincular > Cuando el usuario confirma la carga y Argos Operaciones no responde > Entonces el requerimiento se guarda igual y la vinculación queda pendiente para completarse después.
Dependencias y bloqueos
- PA-006 (API de Argos Operaciones) — condiciona el contrato de la vinculación con
tickets; la carga del requerimiento no depende de ella.
- HU-007 (analizar con IA) consume el documento de origen cargado aquí.
Casos borde / notas. El versionado no borra: cada versión del documento de origen queda consultable, y una versión anterior sigue siendo la fuente de los casos de uso que ya derivaron de ella aunque exista una versión más reciente (RN-019). La vinculación a tickets es opcional y no condiciona el guardado.