-
Notifications
You must be signed in to change notification settings - Fork 0
feat: ship PROV-O actor lineage, accessible labels, and analysis-run evidence (v0.83.0) #74
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
seonghobae
wants to merge
143
commits into
main
Choose a base branch
from
feat/role-responsibility-agent-ontology
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
143 commits
Select commit
Hold shift + click to select a range
27f925a
feat: R&R's named actor is a PROV-O Agent, not always a person (0.68.0)
seonghobae 7e1c0a2
fix: keep R&R examples synthetic and validate actor_type_code
seonghobae 57b217d
feat: capture Keyman job title and avoid same-name merges (v0.69.0)
seonghobae 94bf669
fix: seed synthetic Keyman titles so the panel is not empty
seonghobae cd01c76
fix: read Keycloak admin password from the environment
seonghobae cb0122a
feat: R&R actor can be a team, meso-level between person and org (v0.…
seonghobae 86e7419
feat: resolve and search-verify abbreviated organization names (v0.71.0)
seonghobae 578e709
fix: recover image OCR/caption fields independently, not one strict m…
seonghobae 6ec0dfd
Merge remote-tracking branch 'origin/main' into feat/role-responsibil…
seonghobae f11f23d
feat: R&R team/organization actors get a shared cross-post identity (…
seonghobae 24d7cf2
feat: auto-create a real counterparty org into the corporate hierarch…
seonghobae cc92d29
chore: stage reviewed PROV-O payload 1/6 [skip ci]
seonghobae e9d7a59
chore: stage reviewed PROV-O payload 2/6 [skip ci]
seonghobae 721bfb0
chore: stage reviewed PROV-O payload 3/6 [skip ci]
seonghobae 75f4fa8
chore: stage reviewed PROV-O payload 4/6 [skip ci]
seonghobae d5d9885
chore: stage reviewed PROV-O payload 5/6 [skip ci]
seonghobae 06ca8ba
chore: stage reviewed PROV-O payload 6a/7 [skip ci]
seonghobae 9a0a120
chore: stage reviewed PROV-O payload 6b/7 [skip ci]
seonghobae fa9dc60
ci: bootstrap complete PROV-O relation support
seonghobae 3d80208
ci: normalize generated documentation before PROV-O commit
seonghobae a52758a
ci: separate PROV-O implementation push from workflow installation
seonghobae a7ee7d3
feat: implement every normative PROV-O relation (v0.76.0)
github-actions[bot] 1cb464f
ci: remove one-shot PROV-O bootstrap workflow
seonghobae fd22002
ci: add exact-head PROV-O standards contract
seonghobae eb3506e
ci: repair PROV-O review findings with locked dependencies
seonghobae 48b7545
ci: lock PROV-O coverage tooling before review repair
seonghobae fb96cca
test: resolve PROV-O review and lock coverage tooling
github-actions[bot] ad24df6
ci: remove one-shot PROV-O review repair workflow
seonghobae 8b4ce71
ci: install PROV-O contract dependencies from uv lock
seonghobae e58d9d1
chore: stage core review hardening script [skip ci]
seonghobae ada5ef2
chore: stage schema and regression review fixes [skip ci]
seonghobae 50af06b
ci: run bounded review-hardening repair
seonghobae 132d99c
chore: patch review-support anchors before execution [skip ci]
seonghobae 0df792e
ci: repair review-script indentation anchors
seonghobae be1e837
chore: preserve four-space anchors in review support script
seonghobae d863648
chore: preserve function indentation in review repair output
seonghobae 2135f6a
ci: preserve generated function indentation before repair
seonghobae a75a549
chore: preserve valid unreferenced PROV reference updates
seonghobae 11e385d
ci: use runner-provided rustup for pinned toolchain
seonghobae 4cda891
fix: serialize corporate-entity creation against a real observed dead…
seonghobae a067ec4
chore: fix generated regression helpers and polymorphic trigger
seonghobae d038452
fix: harden verified hierarchy and PROV persistence
github-actions[bot] 2b2e29f
ci: remove completed review-hardening workflow
seonghobae a1f0b9a
ci: run exact locked tests against PostgreSQL
seonghobae f96341e
build: install backend from committed uv lock
seonghobae 704a38a
docs: de-identify corporate creation lock evidence
seonghobae 1eca863
noop
seonghobae 014a884
fix(security): hash-pin Docker uv bootstrap
seonghobae 0b7e5ec
fix(security): enforce hash-verified uv bootstrap
seonghobae c077ea2
test(docs): reject duplicate and placeholder ADRs
seonghobae b378908
fix: harden vision parsing and PROV-O contracts
seonghobae 8cc0fe6
fix: normalize emphasized vision tags
seonghobae 707f73b
docs: align team identity ADR with SQL contract
seonghobae 5b14bbc
docs: align organization resolution ADR with implementation
seonghobae 88a58d6
fix: preserve emphasized vision values
seonghobae 7c4b5a0
ci: repair final PR 74 review blockers
seonghobae 60be118
test(red): define transaction and timezone review contracts
seonghobae 4e725c0
ci: retry verified PR 74 review repair
seonghobae 45cc7b6
test(red): observe current review regressions
seonghobae 56a0eec
ci: complete verified PR 74 review repair
seonghobae e7a2de0
fix: restore ADR 0012 lock and reject XSD +14:01 offsets
seonghobae 044723f
ci: remove completed PR 74 repair workflows
seonghobae 3f4f6f5
ci: verify and remove temporary PR 74 repair workflows
seonghobae 1ba727d
test(red): bound enrichment outside summary transactions
seonghobae dba428a
ci: finish PR 74 transaction-boundary repair
seonghobae 15ac044
fix: isolate catalog enrichment from summary writes
seonghobae f50a2d8
ci: stage PR 74 organization enrichment repair
seonghobae f6acac3
ci: run verified PR 74 organization enrichment repair
seonghobae 2ace79e
ci: remove superseded organization repair scaffolding
seonghobae 09d6acc
test(red): require source-aware person mention projection
seonghobae dd6e5a0
ci: stage person-projection reconciliation repair
seonghobae 0d71b1e
ci: verify source-aware person and KG projection
seonghobae 15be1c7
ci: harden person-projection repair transforms
seonghobae 87791f9
ci: run hardened person-projection repair
seonghobae 0c72b3a
ci: complete fresh-install and seed projection repair
seonghobae a9fef12
ci: verify complete person-projection repair
seonghobae 3420d09
ci: isolate PR 74 repair bootstrap failures
seonghobae a86e430
ci: preserve focused projection failure evidence
seonghobae 57cad1f
test(db): recognize idempotent table declarations
seonghobae 6998ab3
ci: rerun source-aware projection repair after schema test fix
seonghobae a8f7e6e
fix(data): reconcile source-aware person graph evidence
6077442
docs: record source-aware person projection repair
seonghobae 3bd4fb0
feat: show related-person business-side labels (v0.78.0) (#80)
seonghobae 80905cf
Merge branch 'main' into feat/role-responsibility-agent-ontology
seonghobae 59cde23
docs: fold adaptive-orchestration 0.78.0 fragment into changelog
cursoragent 1dc213b
test(red): define normalized analysis-run registry
seonghobae 242437a
feat(db): implement normalized analysis-run registry
seonghobae 2af1dcd
feat(db): add fail-closed registry rollback
seonghobae a793c59
chore(db): apply analysis registry on fresh install
seonghobae a53a371
docs(adr): define normalized analysis-run ownership
seonghobae 52bf5a9
docs(research): trace analysis registry standards
seonghobae b37e2aa
docs(plan): sequence normalized registry delivery
seonghobae 57a5016
docs(changelog): record Milestone 2 registry slice
seonghobae 8121a57
ci: verify clean normalized analysis registry
seonghobae 94fa41e
ci: use canonical locked install steps for registry verification
seonghobae 61fbfb4
ci: preserve analysis-run registry failure evidence
seonghobae 519cada
fix(test): roll back aborted registry downgrade transaction
seonghobae 6f6a252
ci: stage analysis-run registry hardening repair
seonghobae fac45ce
ci: verify immutable analysis-run evidence test-first
seonghobae aef0d16
fix(db): make analysis-run evidence immutable
e40f88a
feat: show authorized analysis-run evidence on the home page (v0.79.0…
seonghobae dc2517f
feat: open analysis-run detail from the home list (v0.80.0) (#100)
seonghobae e9bcd48
feat: show labeled analysis-run status history (v0.81.0) (#102)
seonghobae 91d5a05
feat: open visible posts from an analysis-run detail (v0.82.0) (#103)
seonghobae fdab35e
docs(adr): keep registry ADR 0013 after #74 reused the number
cursoragent 955d0b0
docs(changelog): point adaptive-orchestration note at ADR 0015
cursoragent f27ecfb
feat: rebase analysis-run registry onto current #74 head (#107)
seonghobae 88a1a0f
fix: keep Keyman evidence and honor analysis-run cutoff (v0.83.0)
cursoragent 8c3694f
fix: fail-closed TEPP seed on the shared Demo Corp snapshot (#118)
cursor[bot] dea0b3a
fix(ui): show analysis-run digest prefixes on detail (#121)
seonghobae e9c42ba
fix: keep failed-run next actions kind-specific (#124)
cursor[bot] 44912a6
fix(ui): keep analysis-run digests audible and warn on live posts (v0…
cursor[bot] 352a7a6
feat: let operators request a pending analysis run (v0.85.0) (#125)
cursor[bot] 3c17fd3
feat: walk team and organization related nodes (v0.86.0) (#122)
cursor[bot] ca9bd82
fix: pin failed-run next actions to registered kinds
cursor[bot] 7f2d4bc
feat(ui): show embedded post images instead of raw base64 (v0.86.1)
cursor[bot] 6f79ecb
fix: bind R&R catalog ids without homonym joins (v0.86.2) (#141)
cursor[bot] 39ed6eb
fix(ui): pin pending next-action copy to registered kinds (#148)
seonghobae 69c035b
feat: add granted retention purge and Storybook tokens (v0.87.0)
seonghobae 1cf0bd7
feat: start a pending lineage reconstruction (v0.88.0)
seonghobae e4d7461
feat: compare live post write clock with analysis-run cutoff (v0.89.0…
seonghobae ba5b8c1
feat: warn that cutoff-rewritten titles open the live body (v0.90.0) …
seonghobae 3dfb251
feat: start TEPP through tepp_client; open reconstructed edges (v0.92…
seonghobae 254c83d
feat: seed the A-100 fork and persist start on a durable outbox (v0.9…
seonghobae a2e745a
feat: show outbox delivery and seed the period-report analysis run (v…
seonghobae 54c4312
feat: open the scored week from a period-report analysis run (v0.97.0…
seonghobae c7e9428
feat: open the corp grouping with the scored week (v0.98.0) (#199)
seonghobae 7413fb4
fix: bind analysis-run visibility with parameterized SQL literals (v0…
seonghobae fbcd4df
feat: land the comparison strip on the opened Demo Corp row (v0.99.0)…
seonghobae 1958d70
feat: name the next action on the landed Demo Corp report (v1.0.0) (#…
seonghobae 37a652c
feat: land Demo Corp members under the opened-report next action (v1.…
seonghobae 3bb3e86
feat: name the next action on the opened Demo Corp member (v1.2.0) (#…
seonghobae ed863fa
feat: focus Event Lineage when opening a landed report member (v1.3.0…
seonghobae 49475a6
feat: mark the opened post current in Event Lineage (v1.4.0) (#206)
seonghobae 3b8b2dc
feat: name Keyman and evaluation after the current Event Lineage node…
seonghobae ad3611e
feat: land Keyman and evaluation under the Event Lineage next action …
seonghobae 17f6b67
feat: name the first Keyman after landed evaluation (v1.7.0) (#209)
seonghobae 3ace4f6
feat: land first Keyman related nodes under the next action (v1.8.0) …
seonghobae 60a73fd
feat: name the first related node after landed Ada West related (v1.9.0)
seonghobae d4d1048
feat: land first related nodes under the next action (v2.0.0) (#216)
seonghobae bda10d6
feat: show cutoff-known post body beside the live rewrite (v2.1.0) (#…
seonghobae 68ffc12
feat: name Ask after Priya Nair related nodes are current (v2.2.0) (#…
seonghobae 6bad1ee
feat: focus Ask after Priya Nair related nodes are current (v2.3.0) (…
seonghobae File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,94 @@ | ||
| name: PROV-O contract | ||
|
|
||
| on: | ||
| pull_request: | ||
| branches: [main] | ||
| paths: | ||
| - "lineageweave/prov_o.py" | ||
| - "tests/test_prov_o.py" | ||
| - "tests/test_prov_o_schema.py" | ||
| - "migrations/0017_prov_o_standard_relations.sql" | ||
| - "docs/ontology/prov-o-support-profile.ttl" | ||
| - "pyproject.toml" | ||
| - "uv.lock" | ||
| - ".github/workflows/prov-o-contract.yml" | ||
| push: | ||
| branches: [main] | ||
| paths: | ||
| - "lineageweave/prov_o.py" | ||
| - "tests/test_prov_o.py" | ||
| - "tests/test_prov_o_schema.py" | ||
| - "migrations/0017_prov_o_standard_relations.sql" | ||
| - "docs/ontology/prov-o-support-profile.ttl" | ||
| - "pyproject.toml" | ||
| - "uv.lock" | ||
| - ".github/workflows/prov-o-contract.yml" | ||
|
|
||
| permissions: | ||
| contents: read | ||
|
|
||
| concurrency: | ||
| group: prov-o-contract-${{ github.ref }} | ||
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| standards-contract: | ||
| name: Registry, inference, coverage, PostgreSQL | ||
| runs-on: ubuntu-latest | ||
| services: | ||
| postgres: | ||
| image: postgres:16-alpine@sha256:57c72fd2a128e416c7fcc499958864df5301e940bca0a56f58fddf30ffc07777 | ||
| env: | ||
| POSTGRES_PASSWORD: postgres | ||
| ports: | ||
| - 5432:5432 | ||
| options: >- | ||
| --health-cmd "pg_isready -U postgres" | ||
| --health-interval 10s | ||
| --health-timeout 5s | ||
| --health-retries 5 | ||
| env: | ||
| LINEAGEWEAVE_TEST_POSTGRES_ADMIN_DSN: postgresql://postgres:postgres@localhost:5432/postgres | ||
| steps: | ||
| - name: Checkout repository | ||
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # actions/checkout@v7 | ||
| with: | ||
| persist-credentials: false | ||
|
|
||
| - name: Set up Python | ||
| uses: actions/setup-python@ece7cb06caefa5fff74198d8649806c4678c61a1 # actions/setup-python@v6 | ||
| with: | ||
| python-version: "3.12" | ||
|
|
||
| - name: Set up locked Python dependency manager | ||
| uses: astral-sh/setup-uv@c771a70e6277c0a99b617c7a806ffedaca235ff9 # v9.0.0 | ||
| with: | ||
| version: "0.11.28" | ||
| enable-cache: false | ||
|
|
||
| - name: Install the committed universal lock | ||
| run: uv sync --frozen --extra dev | ||
|
|
||
| - name: Verify complete relation behavior and 100 percent coverage | ||
| run: | | ||
| uv run --frozen python -m coverage run --branch --source=lineageweave.prov_o \ | ||
| -m pytest -q tests/test_prov_o.py | ||
| uv run --frozen python -m coverage report --fail-under=100 lineageweave/prov_o.py | ||
|
|
||
| - name: Require a reachable PostgreSQL service | ||
| run: | | ||
| set -euo pipefail | ||
| for _ in $(seq 1 30); do | ||
| if pg_isready -h localhost -p 5432 -U postgres; then | ||
| exit 0 | ||
| fi | ||
| sleep 2 | ||
| done | ||
| echo "PostgreSQL service is unreachable; the schema contract would silently skip." >&2 | ||
| exit 1 | ||
|
|
||
| - name: Verify normalized PostgreSQL contracts | ||
| run: uv run --frozen python -m pytest -q tests/test_prov_o_schema.py | ||
|
|
||
| - name: Compile owned Python surface | ||
| run: uv run --frozen python -m compileall -q lineageweave/prov_o.py tests/test_prov_o.py tests/test_prov_o_schema.py | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.