Skip to content

Repo annotation plugin meetings - #5184

Open
rarajes2 wants to merge 3 commits into
webex:nextfrom
rarajes2:repo-annotation-plugin-meetings
Open

Repo annotation plugin meetings#5184
rarajes2 wants to merge 3 commits into
webex:nextfrom
rarajes2:repo-annotation-plugin-meetings

Conversation

@rarajes2

@rarajes2 rarajes2 commented Aug 22, 2026

Copy link
Copy Markdown
Contributor

COMPLETES #< SPARK-844865 Partially >

This pull request addresses

Adds a code-grounded SDD documentation layer for plugin-meetings. Docs and config only — no runtime code changed (67 files, +14,420/−4; the 4 deletions are a template banner in AGENTS.md).

by making the following changes

What's included

  • 23 canonical module specs (src/*/ai-docs/*-spec.md) — 105 requirements with WHAT+WHY, traceability rows, public-surface contracts, failure semantics, and diagrams, all derived from current source and tests
  • 11 standing docs + 6 reference docs (ADRs, patterns) and root AGENTS.md
  • .sdd/manifest.json — module registry, coverage status, quality gates, validation provenance
  • .gitignore — excludes the local .generated/ working directory

Verification

Specs were generated, then independently validated against current code by a different runtime across several repair cycles. Final state: 0 Blocking, 0 Important, 3 Minor — all documentation-accuracy nits, no fabricated APIs.

Four executable gates run against the TypeScript AST and are clean:

Gate Result
Event surface 121/121 events documented, 0 undocumented
Failure semantics 0 contradictions over 162 bound claims
Evidence bindings 0 wrong of 978; 0 duplicate paths
Mermaid bindings 0 wrong of 158 arrows; 0 ownership findings

Each gate publishes its out-of-model denominator, so unproved regions are disclosed rather than silent: 21% of diagram arrows, 42% of path citations and 29% of failure-semantics claims are mechanically proved; the remainder is explicitly review-visible.

Coverage status

All 23 modules are Partial (field completeness 92.9%, drift 0–4.5%). None are Specced: that gate requires a last-five-PR check that was out of scope for this run.

Known limitations

  • Three repaired lines in reconnection-manager and breakouts were fixed by the same runtime that reported them, so they lack independent confirmation.
  • Two newly added gate properties have denominators too small to generalize (n=1 and 2 of 49).
  • Standing and reference docs carry validation_status: not-run; only the 23 module specs were validated under both axes.

Two notes on accuracy: the base branch is next (3 commits), and the .generated/ validation and coverage reports are gitignored, so they stay local and aren't part of this PR — which is why the verification numbers are summarized inline rather than linked.

Change Type

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update
  • Tooling change
  • Internal code refactor

The following scenarios were tested

< ENUMERATE TESTS PERFORMED, WHETHER MANUAL OR AUTOMATED >

The GAI Coding Policy And Copyright Annotation Best Practices

  • GAI was not used (or, no additional notation is required)
  • Code was generated entirely by GAI
  • GAI was used to create a draft that was subsequently customized or modified
  • Coder created a draft manually that was non-substantively modified by GAI (e.g., refactoring was performed by GAI on manually written code)
  • Tool used for AI assistance (GitHub Copilot / Other - specify)
    • Github Copilot
    • Other - Codex (Generator) and Cursor (Validator)
  • This PR is related to
    • Feature
    • Defect fix
    • Tech Debt
    • Automation

I certified that

  • I have read and followed contributing guidelines
  • I discussed changes with code owners prior to submitting this pull request
  • I have not skipped any automated checks
  • All existing and new tests passed
  • I have updated the documentation accordingly

Make sure to have followed the contributing guidelines before submitting.

@rarajes2
rarajes2 requested review from a team as code owners August 22, 2026 15:59
@rarajes2 rarajes2 added the validated If the pull request is validated for automation. label Aug 22, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 44723e4413

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

Comment on lines +344 to +346
root="$(git_root "$target")"
[[ -n "$root" ]] || root="$target"
manifest="$root/.sdd/manifest.json"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Resolve the manifest relative to the package target

When --target is this package directory, git_root resolves to the monorepo root, so this constructs /workspace/webex-js-sdk/.sdd/manifest.json instead of the checked-in package manifest. Consequently every emitted event reports manifest_template_profile=uninitialized and profile_alignment=uninitialized, corrupting the new profile-alignment telemetry for this installation; search the target itself (or its nearest ancestor containing .sdd/manifest.json) before falling back to the Git root.

AGENTS.md reference: packages/@webex/plugin-meetings/AGENTS.md:L130-L135

Useful? React with 👍 / 👎.

|---|---|---|---|
| `src/meetings/` | Registered plugin, meeting discovery, registration, and collection coordination | Partial | [`src/meetings/ai-docs/meetings-spec.md`](../src/meetings/ai-docs/meetings-spec.md) |
| `src/meeting/` | One meeting's lifecycle, media, controls, state, and events | Partial | [`src/meeting/ai-docs/meeting-spec.md`](../src/meeting/ai-docs/meeting-spec.md) |
| `src/meeting-info/` | Destination resolution and validated meeting metadata | Untracked | [`src/meeting-info/ai-docs/meeting-info-spec.md`](../src/meeting-info/ai-docs/meeting-info-spec.md) |

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Match the index coverage states to the manifest

The index labels this and twelve other modules as Untracked, while the same commit's authoritative manifest labels them Partial. The package rules assign different requirements to those states—an Untracked module requires code/tests and a characterization baseline—so agents following this router can unnecessarily block work, particularly for modules such as reactions that have no baseline recorded; regenerate all affected rows from the manifest.

AGENTS.md reference: packages/@webex/plugin-meetings/AGENTS.md:L132-L135

Useful? React with 👍 / 👎.


while [[ $# -gt 0 ]]; do
case "$1" in
--status) status="${2:-}"; shift 2 ;;

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Reject value-less options instead of looping

If any value-taking option is supplied last without a value, such as emit-skill --status, ${2:-} becomes empty but shift 2 fails without consuming $1; because the script does not use set -e, the parser repeats forever instead of returning the documented validation error. Guard that a second argument exists before shifting, or explicitly exit with usage.

Useful? React with 👍 / 👎.

Comment thread .gitignore
@@ -1,5 +1,6 @@
# Documentation
packages/**/docs/
/packages/@webex/plugin-meetings/.generated/

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep source-policy evidence outside the ignored tree

The manifest records .generated/sdd/spec-source-policy/decision.md as the repository-owner decision for the global policy and every module, but this new ignore rule excludes that entire directory and the referenced file is absent from the commit. A fresh checkout therefore cannot inspect the evidence when reconciling a protected spec or a recorded source conflict, which can stop the documented strict-compliance flow; commit the durable decision elsewhere and update the manifest references, or narrow this ignore rule.

AGENTS.md reference: packages/@webex/plugin-meetings/AGENTS.md:L130-L135

Useful? React with 👍 / 👎.

@aws-amplify-us-east-2

Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-5184.d3m3l2kee0btzx.amplifyapp.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

validated If the pull request is validated for automation.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant