Repository navigation
docs: sync living-doc glossary with canonical definitions and drop pageobject status #40
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
Closed
Closed
Changes from 10 commits
Commits
Show all changes
30 commits
Select commit
Hold shift + click to select a range
fcd8390
Sync living-doc glossary with canonical definitions, update project p…
miroslavpojer 3351f4f
fix: align living-doc-update description with schema (Features no sta…
miroslavpojer d3d4d43
fix: clarify stale AC update location in gherkin-living-doc-sync
miroslavpojer fc9711a
feat: add standard artifact locations for BDD automation in copilot i…
miroslavpojer c609578
fix: update living-doc BDD schemas and related documentation for clar…
miroslavpojer c095dff
fix: update expected output formatting in evals and enhance deprecati…
miroslavpojer 429db05
fix: update surface type validation to only allow UI and API, and adj…
miroslavpojer f525f3f
fix: refine expected output for Notifications Service feature and upd…
miroslavpojer c6c9d48
fix: update glossary sync script to use environment variable for refe…
miroslavpojer 96c58bd
fix: enhance living-doc BDD schemas and documentation for clarity, ad…
miroslavpojer 7607373
fix: update expected output and validation details in evals for livin…
miroslavpojer 377c154
fix: update descoped scenario handling in documentation and evals, cl…
miroslavpojer 5a02872
fix: enhance validation for ac_states in profile, ensuring schema com…
miroslavpojer 22f3404
fix: add validation to prevent duplicate ac_states in profile and enh…
miroslavpojer 822aad2
fix: enhance validation for profile ac_states to reject non-string it…
miroslavpojer e7a8e00
fix: add tests to reject duplicate values in profile ac_states and up…
miroslavpojer 602a738
fix: update living doc guidelines to clarify API surface types and en…
miroslavpojer d5187ca
fix: enhance living doc guidelines for AC versioning and improve vali…
miroslavpojer 2378d51
fix: update living doc guidelines and improve validation for user sto…
miroslavpojer 748b767
fix: enhance error handling in profile loading to catch malformed YAML
miroslavpojer 1ae73b5
fix: update documentation and tests for validation and coverage impro…
miroslavpojer d1ec392
fix: enforce error handling for unrecognized AC states in validation …
miroslavpojer 0318a13
fix: update living doc guidelines and JSON structure for User Stories…
miroslavpojer ff2e547
fix: enhance validation for deprecated features to include deprecated…
miroslavpojer 4b46118
fix: update living doc guidelines and JSON structure for Feature and …
miroslavpojer fad91af
Updated from consistency review.
miroslavpojer 412a098
feat: generate both canon copies from one SHA-pinned sync mechanism
miroslavpojer 89f0eb6
Updated to introduce news from canon.
miroslavpojer 2ef9ff0
feat: add dependency update path and feature_dependencies checks; ali…
miroslavpojer 5d356b3
feat: add dependency update path and feature_dependencies checks; ali…
miroslavpojer 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
Some comments aren't visible on the classic Files Changed page.
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
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
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
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
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,95 @@ | ||
| #!/usr/bin/env bash | ||
| # sync-living-doc-glossary.sh — pull the canon glossary from AbsaOSS/living-doc and write the | ||
| # local copy that agentic-toolkit's skills load. | ||
| # | ||
| # The canon lives at living-doc's docs/guides/living-doc-glossary.md today. A later living-doc | ||
| # change relocates guides under docs/reference/ — when that lands, update SOURCE_PATH below (and | ||
| # the link-rewriting rules, which assume the source and its cross-references live under | ||
| # docs/guides/ and docs/examples/). | ||
| # | ||
| # Usage: | ||
| # scripts/sync-living-doc-glossary.sh <living-doc-ref> | ||
| # | ||
| # <living-doc-ref> is any git ref in AbsaOSS/living-doc: a commit SHA (preferred, for | ||
| # reproducibility), a tag, or a branch name. | ||
| # | ||
| # Writes: skills/shared/references/living-doc-glossary.md | ||
| # Exits 1 if the ref is missing, the fetch fails, or the fetched file is empty. | ||
|
|
||
| set -euo pipefail | ||
|
|
||
| REPO_ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)" | ||
| DEST="${REPO_ROOT}/skills/shared/references/living-doc-glossary.md" | ||
| SOURCE_PATH="docs/guides/living-doc-glossary.md" | ||
| LIVING_DOC_REPO="AbsaOSS/living-doc" | ||
|
|
||
| if [ "${1:-}" = "" ]; then | ||
| echo "Usage: $0 <living-doc-ref>" >&2 | ||
| echo " <living-doc-ref>: a commit SHA, tag, or branch in ${LIVING_DOC_REPO}" >&2 | ||
| exit 1 | ||
| fi | ||
| REF="$1" | ||
|
|
||
| # Percent-encode REF for safe use inside a URL path segment, preserving '/' so refs that | ||
| # contain one (e.g. "feature/foo") still address the right nested path. REF is attacker/PR | ||
| # controlled (any branch, tag, or SHA in AbsaOSS/living-doc) and is dropped unescaped into | ||
| # both the curl fetch URL and the doc links rewritten below. Reserved URL characters such as | ||
| # '#' are delimiters — curl (and a browser, for the links below) treats everything from '#' | ||
| # onward as a fragment and never sends it — so a ref containing one silently truncates the | ||
| # request instead of failing loudly. Percent-encoding leaves only unreserved characters and | ||
| # '/' in the result, so the sed replacements further down need no separate escaping either. | ||
| url_encode_ref() { | ||
| local LC_ALL=C ref="$1" i c encoded="" | ||
| for (( i = 0; i < ${#ref}; i++ )); do | ||
| c="${ref:i:1}" | ||
| case "$c" in | ||
| [a-zA-Z0-9._~-]|/) encoded+="$c" ;; | ||
| *) encoded+=$(printf '%%%02X' "'$c") ;; | ||
| esac | ||
| done | ||
| printf '%s' "$encoded" | ||
| } | ||
|
|
||
| REF_URL_SAFE="$(url_encode_ref "${REF}")" | ||
|
|
||
| RAW_URL="https://raw.githubusercontent.com/${LIVING_DOC_REPO}/${REF_URL_SAFE}/${SOURCE_PATH}" | ||
|
|
||
| TMP_FILE="$(mktemp)" | ||
| trap 'rm -f "${TMP_FILE}"' EXIT | ||
|
|
||
| echo "Fetching ${SOURCE_PATH} from ${LIVING_DOC_REPO}@${REF} ..." >&2 | ||
| if ! curl -fsSL --connect-timeout 10 --max-time 30 --retry 2 "${RAW_URL}" -o "${TMP_FILE}"; then | ||
| echo "Error: failed to fetch ${RAW_URL}" >&2 | ||
| echo "Check that the ref exists and ${SOURCE_PATH} is still the canon glossary path." >&2 | ||
| exit 1 | ||
| fi | ||
|
|
||
| if [ ! -s "${TMP_FILE}" ]; then | ||
| echo "Error: fetched file is empty — refusing to overwrite ${DEST}" >&2 | ||
| exit 1 | ||
| fi | ||
|
|
||
| # Rewrite the canon's relative links to absolute living-doc URLs so the synced copy reads | ||
| # correctly from inside agentic-toolkit. Same-page anchors (#section) are left untouched. | ||
| # Known relative link shapes in the source file: | ||
| # - "living-doc-header-types.md" / "living-doc-document-types.md" — sibling under docs/guides/ | ||
| # - "../examples/..." — under docs/examples/ | ||
| # | ||
| # REF_URL_SAFE is already percent-encoded (see above), so it contains only unreserved URL | ||
| # characters and '/' — none of which are special to sed's s|...|...| syntax — and can be | ||
| # dropped straight into the replacement text below with no separate escaping pass. | ||
| BLOB_BASE="https://github.com/${LIVING_DOC_REPO}/blob/${REF_URL_SAFE}" | ||
| sed -E \ | ||
| -e "s|\(living-doc-header-types\.md|(${BLOB_BASE}/docs/guides/living-doc-header-types.md|g" \ | ||
| -e "s|\(living-doc-document-types\.md|(${BLOB_BASE}/docs/guides/living-doc-document-types.md|g" \ | ||
| -e "s|\(\.\./examples/|(${BLOB_BASE}/docs/examples/|g" \ | ||
| "${TMP_FILE}" > "${TMP_FILE}.rewritten" | ||
| mv "${TMP_FILE}.rewritten" "${TMP_FILE}" | ||
|
|
||
| { | ||
| echo "<!-- synced from ${LIVING_DOC_REPO}@${REF} — run scripts/sync-living-doc-glossary.sh ${REF} to refresh -->" | ||
| echo | ||
| cat "${TMP_FILE}" | ||
| } > "${DEST}" | ||
|
|
||
| echo "Wrote $(wc -l < "${DEST}") lines to ${DEST#${REPO_ROOT}/}" >&2 |
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.