Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
137 commits
Select commit Hold shift + click to select a range
05ed5d6
docs: update BT_DESIGN_prompt.md to refine integration plan and captu…
ahouseholder Feb 19, 2026
8e7289f
Distribute BT_INTEGRATION.md insights and remove file
ahouseholder Feb 19, 2026
13dcf18
docs: add detailed section map to CVD Behavior Tree page
ahouseholder Feb 19, 2026
d75a454
docs: update uv.lock
ahouseholder Feb 19, 2026
c371ac0
docs: reduce redundancy and fix section map in cvd_bt.md
ahouseholder Feb 19, 2026
181ccbb
docs: update PRIORITIES.md to clarify focus on ActivityPub processes …
ahouseholder Feb 19, 2026
e3ed13c
docs: enhance testability and agent documentation with blackboard man…
ahouseholder Feb 19, 2026
e21e730
docs: update PRIORITIES.md and add agentic-readiness.md for improved …
ahouseholder Feb 19, 2026
12d3505
Refine specs: rewrite agentic-readiness, fix HP prefix collision, upd…
ahouseholder Feb 19, 2026
41c1d22
plan: update gap analysis and BT-2 through BT-7 task list (2026-02-19)
ahouseholder Feb 19, 2026
6337295
BT-2.1: Add engage_case and defer_case handlers with BT execution
ahouseholder Feb 19, 2026
c5c9023
docs(AGENTS.md): clarify full test-suite command and commit workflow
ahouseholder Feb 19, 2026
f24b006
docs: add strict markdownlint config and update AGENTS.md lint instru…
ahouseholder Feb 19, 2026
666efca
docs: update implementation notes for clarity and structure
ahouseholder Feb 20, 2026
56fb219
docs: incorporate protocol semantics insights from IMPLEMENTATION_NOTES
ahouseholder Feb 20, 2026
ea9d5b3
docs: update AGENTS_META_prompt.md for clarity and additional guidance
ahouseholder Feb 20, 2026
cb60b76
Add notes/ directory for durable design insights; update AGENTS.md
ahouseholder Feb 20, 2026
52b19eb
docs: clarify guidance on organizing insights in AGENTS_META_prompt.m…
ahouseholder Feb 20, 2026
d80cdb0
docs: update project documentation with architectural decision record…
ahouseholder Feb 20, 2026
b0df8a4
docs: update LEARN_prompt.md to enhance guidance on utilizing insight…
ahouseholder Feb 20, 2026
61f13c2
docs: capture BT-2.1 lessons and EvaluateCasePriority direction in no…
ahouseholder Feb 20, 2026
2eebda8
removed empty temporary script
ahouseholder Feb 20, 2026
8593c00
docs: update IMPLEMENTATION_NOTES.md with notes on what documentation…
ahouseholder Feb 20, 2026
1fa5aa8
docs: remove IMPLEMENTATION_NOTES refs, fix spec paths, update agent …
ahouseholder Feb 20, 2026
3fc0422
docs: note that IMPLEMENTATION_NOTES.md is ephemeral and must not be …
ahouseholder Feb 20, 2026
6b44b80
docs: update README.md and add new documentation files for case state…
ahouseholder Feb 20, 2026
4c0456e
docs: add participant-specific vs. participant-agnostic states sectio…
ahouseholder Feb 20, 2026
5271575
docs: update DESIGN_prompt.md to include notes on lessons learned and…
ahouseholder Feb 20, 2026
a89cf76
Refine specs: remove redundancies, add PROD_ONLY tags, trim implement…
ahouseholder Feb 20, 2026
b9b97b4
docs: update DESIGN_prompt.md to refine specification guidelines and …
ahouseholder Feb 20, 2026
7616fd1
docs: remove outdated notes from PRIORITIES.md regarding agentic read…
ahouseholder Feb 20, 2026
a15a33c
refine specs: normalize headers, reduce redundancy, add case-manageme…
ahouseholder Feb 20, 2026
cb71600
plan: update implementation plan with BT-2.1 status and new spec gaps
ahouseholder Feb 20, 2026
2079891
refine plan: update study steps in PLAN_prompt.md for clarity and com…
ahouseholder Feb 20, 2026
53f0883
refine build instructions: clarify task study steps and reordering fo…
ahouseholder Feb 20, 2026
1ddbfa0
BT-2.0: CM-04 + ID-04-004 compliance audit for engage_case/defer_case
ahouseholder Feb 20, 2026
3ebda77
perf(tests): refactor demo tests to run one demo per test case
ahouseholder Feb 20, 2026
e32a4a2
docs: update BUGS.md and IMPLEMENTATION_NOTES for demo test speedup
ahouseholder Feb 20, 2026
968cb78
docs: strengthen one-run test-suite rule; add test/AGENTS.md
ahouseholder Feb 20, 2026
e33c322
docs: remove fixed bug entry for agents running test suite multiple t…
ahouseholder Feb 20, 2026
0c108ee
BT-3: Implement create_case BT handler + add_report_to_case + close_case
ahouseholder Feb 20, 2026
5cbcf26
docs: Mark Phase BT-3 complete in IMPLEMENTATION_PLAN and NOTES
ahouseholder Feb 20, 2026
33d93a6
fix: rewrite xfail reporting workflow tests for current handlers
ahouseholder Feb 20, 2026
d03e60a
BT-3.5: add initialize_case_demo.py; replace CaseParticipant.actor wi…
ahouseholder Feb 20, 2026
b0451f2
docs: Mark BT-3.5 and BT-4.2 as complete in IMPLEMENTATION_PLAN
ahouseholder Feb 20, 2026
78d5abd
docs: LEARN_prompt review — update AGENTS.md, notes, and specs for BT…
ahouseholder Feb 20, 2026
7603ba5
plan: refresh gap analysis — BT-3/BT-4.2 complete, BT-4 next
ahouseholder Feb 20, 2026
0ce9b94
docs: update PRIORITIES.md to clarify focus on workflow demonstration…
ahouseholder Feb 20, 2026
f3468b3
plan: gap analysis refresh #2 — log set_embargo bug, add BT-4/5 imple…
ahouseholder Feb 20, 2026
05547c6
fix: VulnerabilityCase.set_embargo() updates current CaseStatus.em_state
ahouseholder Feb 20, 2026
b6d8de4
docs: mark set_embargo bug as fixed in BUGS.md and IMPLEMENTATION_NOT…
ahouseholder Feb 20, 2026
a0feea3
docs: remove fixed bug entry for VulnerabilityCase.set_embargo() in B…
ahouseholder Feb 20, 2026
1fb6051
docs: correct EM state machine — ACCEPTED is an activity type, not a …
ahouseholder Feb 20, 2026
7be862d
docs: state machine enums are authoritative over documentation
ahouseholder Feb 20, 2026
dab18de
fix: accept the offer, not the offered object
ahouseholder Feb 20, 2026
95c48ca
feat: implement BT-4.1 actor invitation handlers
ahouseholder Feb 23, 2026
bed1b93
docs: update AGENTS, notes, and specs after design review
ahouseholder Feb 23, 2026
42a88e7
feat: update implementation notes and plan for actor invitation handl…
ahouseholder Feb 23, 2026
9acc392
plan: gap analysis refresh #3 — BT-4.1 complete, BT-4.3/BT-5 next
ahouseholder Feb 23, 2026
25c8569
docs: update implementation notes for embargo flow and actor invitati…
ahouseholder Feb 23, 2026
331678f
docs: add notes on ActivityStreams Vocabulary spec compliance for pro…
ahouseholder Feb 23, 2026
c224c52
Phase BT-4.3: invite_actor_demo.py + fix InviteActorToCase pattern
ahouseholder Feb 23, 2026
422e521
docs: update implementation notes on ID handling and refactor plan fo…
ahouseholder Feb 23, 2026
7095ab8
docs: add notes on refactoring vocab examples into a modular structure
ahouseholder Feb 23, 2026
9a76f6c
docs: add implementation notes for CaseStatus management and history …
ahouseholder Feb 23, 2026
d0672f8
Implement BT-5: embargo management handlers + establish_embargo_demo
ahouseholder Feb 23, 2026
2c76725
docs: update implementation notes on demo script organization and fut…
ahouseholder Feb 23, 2026
58d79ee
docs: add notes on embargo management process and refactoring priorities
ahouseholder Feb 23, 2026
1d9b9e4
docs: capture BT-5 insights into notes, AGENTS.md, and specs
ahouseholder Feb 23, 2026
e4700fc
docs: update implementation notes to clear integrated lessons learned
ahouseholder Feb 23, 2026
59b83af
docs: update PLAN_prompt.md to make it more concise.
ahouseholder Feb 23, 2026
1170783
docs: propose restructuring of IMPLEMENTATION_PLAN.md for better read…
ahouseholder Feb 23, 2026
62c99d0
plan: gap analysis refresh #4 — BT-4.3 and BT-5 complete, BT-6 next
ahouseholder Feb 23, 2026
c73849c
docs: revise BUILD_prompt.md for clarity and structured task flow
ahouseholder Feb 23, 2026
ed542bc
Implement BT-6: notes/status handlers + add notes field to Vulnerabil…
ahouseholder Feb 23, 2026
3babfa0
Update IMPLEMENTATION_PLAN.md: mark BT-6.1 and BT-6.2 complete
ahouseholder Feb 23, 2026
a9f74e8
docs: update BUILD_prompt.md to factor in PRIORITIES.md
ahouseholder Feb 23, 2026
e05b4e7
docs: add dockerization requirement for demos in PRIORITIES.md
ahouseholder Feb 23, 2026
85308e3
BT-6: Add status_updates_demo.py; verify ack_report handler
ahouseholder Feb 23, 2026
6a92597
docs: update IMPLEMENTATION_NOTES.md with pattern matching considerat…
ahouseholder Feb 23, 2026
1e98c97
BT-7: implement suggest_actor + ownership transfer handlers and demos
ahouseholder Feb 23, 2026
8a187ac
docs: update IMPLEMENTATION_NOTES.md with clarifications on field nam…
ahouseholder Feb 23, 2026
3fd329f
test: add missing demo tests; fix add_case_status_to_case and pattern…
ahouseholder Feb 23, 2026
26a975d
docs: update BUGFIX_prompt.md to clarify the bug-fixing process and e…
ahouseholder Feb 23, 2026
bbbe06e
docs: update BUGS.md to outline potential issues with demo script cov…
ahouseholder Feb 23, 2026
06adafb
Add Docker targets and compose services for all demo scripts
ahouseholder Feb 23, 2026
60b0d52
docs: clear out BUGS.md
ahouseholder Feb 23, 2026
c0b0917
docs: update BUGS.md to outline issues with case creation workflow an…
ahouseholder Feb 23, 2026
e2552d7
fix: add vendor as first participant in initialize_case_demo
ahouseholder Feb 23, 2026
d5d4fa1
docs: remove fixed case creation workflow issue from BUGS.md
ahouseholder Feb 23, 2026
5fd5b94
fix: CreateParticipant activity name now clearly identifies CaseParti…
ahouseholder Feb 23, 2026
081d2e6
docs: mark CreateParticipant name bug fixed in BUGS.md and IMPLEMENTA…
ahouseholder Feb 23, 2026
641d6b8
docs: remove fixed CreateParticipant name bug details from BUGS.md
ahouseholder Feb 23, 2026
999d6a5
docs: clarify logging intent in demo scripts for better stakeholder u…
ahouseholder Feb 23, 2026
f756ba9
Refactor demo scripts to use demo_step and demo_check context managers
ahouseholder Feb 23, 2026
a141c97
fix: add demo_step/demo_check context managers and apply to all demo …
ahouseholder Feb 23, 2026
159fda5
docs: remove fixed clarification intent bug details from BUGS.md
ahouseholder Feb 23, 2026
3e07d4d
docs(learn): promote IMPLEMENTATION_NOTES insights to specs, notes, A…
ahouseholder Feb 24, 2026
82afdb9
docs(specs): fix style consistency per meta-specifications.md
ahouseholder Feb 24, 2026
b034813
docs: refactor IMPLEMENTATION_PLAN.md to condense redundancies, harmo…
ahouseholder Feb 24, 2026
1e1e898
chore: housekeeping, markdownlint files
ahouseholder Feb 24, 2026
75b4f39
revise some specs added in 82afdb9c7d8729f9f3a127a67081deaee281abba
ahouseholder Feb 24, 2026
e343fad
docs: streamline IMPLEMENTATION_NOTES.md by removing outdated entries…
ahouseholder Feb 24, 2026
1b23ef0
docs: update IMPLEMENTATION_NOTES.md to clarify separation of wire fo…
ahouseholder Feb 24, 2026
1f85cc3
docs(learn): promote domain-model separation note; update AGENTS.md a…
ahouseholder Feb 24, 2026
df0fad0
plan: refresh implementation plan with gap analysis #6
ahouseholder Feb 24, 2026
46e2639
docs: add reference to IMPLEMENTATION_HISTORY.md in learning and plan…
ahouseholder Feb 24, 2026
ec23e4c
docs: update IMPLEMENTATION_NOTES.md to clarify engagement semantics …
ahouseholder Feb 24, 2026
5e778a4
docs: update IMPLEMENTATION_PLAN.md with notes on semantic types and …
ahouseholder Feb 24, 2026
9b2b9fd
docs: update project-documentation.md to clarify scope and maintenanc…
ahouseholder Feb 24, 2026
1b3d27a
BT-8.6–8.9: Implement UPDATE_CASE MessageSemantics and handler
ahouseholder Feb 24, 2026
7d1896d
docs: update BUILD_prompt.md to clarify handling of missing prerequis…
ahouseholder Feb 24, 2026
be97923
feat(demo): add acknowledge_demo.py (DEMO-3.1–3.3)
ahouseholder Feb 24, 2026
34f5377
docs: update codebase structure and priorities for demo organization …
ahouseholder Feb 24, 2026
fccaa5e
docs: remove obsolete tasks from IMPLEMENTATION_PLAN.md
ahouseholder Feb 24, 2026
598113b
feat: add manage_case_demo.py with tests and Docker config (DEMO-3.4–…
ahouseholder Feb 24, 2026
1bcc039
plan: mark DEMO-3.4–3.6 complete in IMPLEMENTATION_PLAN.md
ahouseholder Feb 24, 2026
25b3f1f
feat: add technology stack specification for Vultron project
ahouseholder Feb 24, 2026
45a71e8
feat: unify demo scripts into a single CLI with Docker support
ahouseholder Feb 24, 2026
3e0be54
feat: add initialize_participant demo (DEMO-3.7/3.8/3.9)
ahouseholder Feb 24, 2026
01d7faa
plan: mark DEMO-3.7/3.8/3.9 complete
ahouseholder Feb 24, 2026
dcebd56
feat: add reference to known bugs in implementation plan
ahouseholder Feb 24, 2026
5996b98
chore: add technical debt tasks to IMPLEMENTATION_PLAN.md
ahouseholder Feb 24, 2026
442b99d
remove superfluous item from IMPLEMENTATION_NOTES.md
ahouseholder Feb 24, 2026
c3be2d4
docs: promote BT-8/DEMO-3 insights; update re-engagement guidance
ahouseholder Feb 24, 2026
07ba6ce
feat: add manage_embargo_demo and tests (DEMO-3.10–3.12)
ahouseholder Feb 25, 2026
d361aeb
plan: mark DEMO-3.10–3.12 complete (manage_embargo_demo)
ahouseholder Feb 25, 2026
de15c40
feat: add manage_participants_demo and fix RemoveParticipantFromCase …
ahouseholder Feb 25, 2026
e49e1ef
Add ignore rule for IMPLEMENTATION_PLAN.md
ahouseholder Feb 26, 2026
0d39414
Update vultron/as_vocab/objects/case_participant.py
ahouseholder Feb 26, 2026
5e369c4
Update specs/testability.md
ahouseholder Feb 26, 2026
f1e06c6
Merge branch 'main' into api-bt-demo-2
ahouseholder Feb 26, 2026
09da5ce
fix: update markdownlint configuration to ignore plan directory
ahouseholder Feb 26, 2026
1468ebe
feat: add fixture to clear py_trees blackboard before Behavior Tree t…
ahouseholder Feb 26, 2026
5d0a8b1
fix: correct formatting inconsistencies in documentation files
ahouseholder Feb 26, 2026
0787b02
Merge branch 'api-bt-demo-2' of https://github.com/CERTCC/Vultron int…
ahouseholder Feb 26, 2026
7399c1d
fix: correct formatting inconsistencies in documentation files
ahouseholder Feb 26, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions .markdownlint-cli2.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@ config:
# Disabled because conversion from TeX to markdown produces invalid links
# We might eventually be able to re-enable this one.
"MD051": false
# 060 - Table column style
"MD060": false
ignores:
- "plan/**"
- "prompts/**"
- "specs/**"
- "wip_notes/**"
- "AGENTS.md"
- "node_modules/**"
- "node_modules/**"
421 changes: 328 additions & 93 deletions AGENTS.md

Large diffs are not rendered by default.

44 changes: 44 additions & 0 deletions docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,47 @@ FROM dependencies AS receive-report-demo
ENV PYTHONPATH=/app
# The BASE_URL in the script will be overridden via environment variable
CMD ["uv", "run", "python", "-m", "vultron.scripts.receive_report_demo"]

FROM dependencies AS initialize-case-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.initialize_case_demo"]

FROM dependencies AS establish-embargo-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.establish_embargo_demo"]

FROM dependencies AS invite-actor-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.invite_actor_demo"]

FROM dependencies AS status-updates-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.status_updates_demo"]

FROM dependencies AS suggest-actor-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.suggest_actor_demo"]

FROM dependencies AS transfer-ownership-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.transfer_ownership_demo"]

FROM dependencies AS acknowledge-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.acknowledge_demo"]

FROM dependencies AS manage-case-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.manage_case_demo"]

FROM dependencies AS initialize-participant-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.initialize_participant_demo"]

FROM dependencies AS manage-embargo-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.manage_embargo_demo"]

FROM dependencies AS manage-participants-demo
ENV PYTHONPATH=/app
CMD ["uv", "run", "python", "-m", "vultron.scripts.manage_participants_demo"]
13 changes: 10 additions & 3 deletions docker/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,30 @@ This docker-compose setup provides several containerized services:

- **api-dev**: Development API server running on port 7999
- **receive-report-demo**: Demo script that sends vulnerability reports to the API server
- **initialize-case-demo**: Demo script that shows the case initialization workflow
- **establish-embargo-demo**: Demo script that demonstrates the embargo establishment workflow
- **invite-actor-demo**: Demo script that demonstrates inviting an actor to a case
- **status-updates-demo**: Demo script that demonstrates case and participant status updates
- **suggest-actor-demo**: Demo script that demonstrates recommending actors for a case
- **transfer-ownership-demo**: Demo script that demonstrates transferring case ownership
- **test**: Run pytest test suite
- **docs**: Documentation server on port 8000
- **vultrabot-demo**: Vultrabot demonstration

## Running the API Server and Demo

To run both the API server and the receive report demo together:
To run both the API server and a demo together, for example:

```bash
docker-compose up api-dev receive-report-demo
```

The demo container will:
Replace `receive-report-demo` with any of the demo service names listed above.
Each demo container will:

1. Wait for the API server to start
2. Connect to the API via the internal Docker network
3. Execute the three demonstration workflows
3. Execute the demonstration workflow
4. Display results and exit

The API server remains running and accessible on `http://localhost:7999`.
Expand Down
198 changes: 198 additions & 0 deletions docker/docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,204 @@ services:
networks:
- vultron-network

initialize-case-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: initialize-case-demo
image: ${PROJECT_NAME}-initialize-case-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

establish-embargo-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: establish-embargo-demo
image: ${PROJECT_NAME}-establish-embargo-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

invite-actor-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: invite-actor-demo
image: ${PROJECT_NAME}-invite-actor-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

status-updates-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: status-updates-demo
image: ${PROJECT_NAME}-status-updates-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

suggest-actor-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: suggest-actor-demo
image: ${PROJECT_NAME}-suggest-actor-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

transfer-ownership-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: transfer-ownership-demo
image: ${PROJECT_NAME}-transfer-ownership-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

acknowledge-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: acknowledge-demo
image: ${PROJECT_NAME}-acknowledge-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

manage-case-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: manage-case-demo
image: ${PROJECT_NAME}-manage-case-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

initialize-participant-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: initialize-participant-demo
image: ${PROJECT_NAME}-initialize-participant-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

manage-embargo-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: manage-embargo-demo
image: ${PROJECT_NAME}-manage-embargo-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

manage-participants-demo:
build:
context: ..
dockerfile: docker/Dockerfile
target: manage-participants-demo
image: ${PROJECT_NAME}-manage-participants-demo:latest
depends_on:
api-dev:
condition: service_healthy
volumes:
- "../vultron:/app/vultron"
- "/app/.venv"
environment:
- PYTHONPATH=/app
- VULTRON_API_BASE_URL=http://api-dev:7999/api/v2
networks:
- vultron-network

networks:
vultron-network:
driver: bridge
6 changes: 3 additions & 3 deletions docs/howto/activitypub/activities/invite_actor.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ sequenceDiagram
actor A as Actor
participant C as Case
activate O
O ->>+ A: Invite(object=Case)
O ->>+ A: Invite(actor=CaseOwner, object=Actor, target=Case)
note over A: Consider invitation
alt Accept Invitation
A -->> O: Accept(object=Case, inReplyTo=Invite)
A -->> O: Accept(object=Invite)
alt Create CaseParticipant
O ->> C: Create(object=CaseParticipant(actor=Actor), target=Case)
else Add CaseParticipant
Expand All @@ -32,7 +32,7 @@ sequenceDiagram
end
note over C: Actor becomes participant in case
else Reject Invitation
A -->> O: Reject(object=Case, inReplyTo=Invite)
A -->> O: Reject(object=Invite)
note over C: Actor is not participant in case
end
deactivate A
Expand Down
16 changes: 7 additions & 9 deletions docs/howto/activitypub/activities/manage_case.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,15 +75,13 @@ flowchart TB

!!! tip "Re-Engaging a Case"

The `RmReEngageCase` activity is used to re-engage a case that has been
deferred. Deferring a case is modeled as an `as:Ignore`
activity, since it is indicating that a participant has not entirely left
the case, but has instead deferred their participation for a period of
time. Re-engaging a case is modeled as an `as:Undo` activity, since it is
undoing the `as:Ignore` activity that was used to defer the case.
Alternatively, we could have just used the same `RmEngageCase` (`as:Join`)
activity. That might still be a better option, but we'll leave it as an
implementation choice for now.
Re-engaging a deferred case uses the same `RmEngageCase` (`as:Join`)
activity. Because the RM model permits reversible transitions between
`ACCEPTED` and `DEFERRED`, re-engagement is simply an `accept` transition
emitted from the `DEFERRED` state — there is no separate `RmReEngageCase`
activity. Using `as:Undo` was considered but rejected: `Undo` implies
retracting the *effects* of a prior action, whereas re-engagement is a
forward state transition.

{% include-markdown "./_close_case.md" heading-offset=1 %}
{% include-markdown "./_close_report.md" heading-offset=1 %}
Expand Down
6 changes: 3 additions & 3 deletions docs/howto/activitypub/activities/suggest_actor.md
Original file line number Diff line number Diff line change
Expand Up @@ -56,10 +56,10 @@ sequenceDiagram
activate A
C -->+ B: Observe suggestion
alt Accept Suggestion
B -->> C: Accept(object=Actor, target=Case, inReplyTo=Offer)
B ->>+ D: Invite(object=Case, target=Actor)
B -->> C: Accept(object=Offer)
B ->>+ D: Invite(actor=CaseOwner, object=Actor, target=Case)
else Reject Suggestion
B -->> C: Reject(object=Actor, target=Case, inReplyTo=Offer)
B -->> C: Reject(object=Offer)
end
deactivate B
C --> A: Observe response
Expand Down
4 changes: 2 additions & 2 deletions docs/howto/activitypub/activities/transfer_ownership.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@ sequenceDiagram
note over B: Consider offer
activate B
alt Accept Offer
B -->> A: Accept(object=Case, inReplyTo=Offer)
B -->> A: Accept(object=Offer)
A ->> C: Update(object=Case)
note over C: Case has new owner
else Reject Offer
B -->> A: Reject(object=Case, inReplyTo=Offer)
B -->> A: Reject(object=Offer)
note over C: Case ownership unchanged
end
deactivate B
Expand Down
Loading