Skip to content

docs(competitive-analysis): cite Pass 3 vendor claims, fix a misattributed quote and a wrong GA quarter - #157

Merged
ainetx merged 1 commit into
constructorfabric:mainfrom
tkcoding:docs/competitive-analysis-citations
Sep 8, 2026
Merged

docs(competitive-analysis): cite Pass 3 vendor claims, fix a misattributed quote and a wrong GA quarter#157
ainetx merged 1 commit into
constructorfabric:mainfrom
tkcoding:docs/competitive-analysis-citations

Conversation

@tkcoding

@tkcoding tkcoding commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Test plan

  • cfs validate — 0 errors, warning count unchanged from main (270).

…buted quote and a wrong GA quarter

Real gaps found in review (ainetx, misfiled onto an unrelated PR but
confirmed against the actual document): three Pass 3 claims -- Appian
Composer's launch, a quote about agent governance, and Microsoft Agent
Framework's GA timing -- were stated as fact with no citation, and the
Methodology section never gave Pass 3 an as-of date.

Verified all three against real, current sources (web search + fetch)
before citing anything, and caught two factual errors in the process,
not just missing citations:

- The quote ("an agent governed by a process is reliable...") was
  attributed to "Appian's CTO." It's actually from Jacob Rank, Appian's
  VP of Product Management, in a 2026-04-27 company blog post -- corrected
  the attribution, not just added a source.
- Microsoft Agent Framework's table entry claimed "GA Q1 2026." Multiple
  independent sources (Microsoft's own devblog, Visual Studio Magazine)
  converge on 2026-04-03 as the real GA date -- that's Q2 2026, not Q1.
  Corrected the date, kept the quarter claim out entirely in favor of the
  exact date plus a citation.
- Appian Composer's announcement date (2026-04-28, at Appian World 2026)
  was already accurate; added the citation.

Added a "Sources (Pass 3)" section with dated, linked citations for all
three, and a Methodology-section freshness caveat ("Pass 3 research as of
2026-09-08... revisit each release cycle per Rf-038") addressing the
separate "research freshness undisclosed" finding.

Signed-off-by: TECK KEAT WILSON <yeow.teck.keat@constructor.tech>
@coderabbitai

coderabbitai Bot commented Sep 8, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 59 minutes.

Check out review usage here.

View limit details

Limit details: You’ve used the included review currently available.

This review ran on the open-source allowance, not this organization's plan, because the pull request author doesn't have an assigned seat. Waiting won't change this — ask an organization admin to assign them a seat, or add seats in Billing if every seat is already assigned, then retry.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Advanced

Run ID: a2e433f8-4bb4-43cb-ab6a-f9568a881711

📥 Commits

Reviewing files that changed from the base of the PR and between 4ef3055 and 4b8d69d.

📒 Files selected for processing (1)
  • architecture/COMPETITIVE-ANALYSIS.md

Comment @coderabbitai help to get the list of available commands.

@sonarqubecloud

sonarqubecloud Bot commented Sep 8, 2026

Copy link
Copy Markdown

@code-ranker-app

Copy link
Copy Markdown
Contributor

code-ranker report for this PR (built on fork): https://reports.code-ranker.com/n25vejxeztNYnCD2pIg5FQ/


---

## Sources (Pass 3)

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Footnote definitions listed in reverse order from their inline appearance

Severity: Minor

Problem
The new 'Sources (Pass 3)' section lists definitions in the order appian-composer-pr, appian-blog, ms-agent-ga, but the markers first appear inline in the opposite order: ms-agent-ga (Tier 5 table, Microsoft Agent Framework row), then appian-blog (the 'agent governed by a process' quote), then appian-composer-pr (the Composer paragraph).

How to reproduce

  1. Scan the document top-to-bottom for footnote markers: [^ms-agent-ga] appears first (Tier 5 table), [^appian-blog] second, [^appian-composer-pr] third. 2. Scroll to the 'Sources (Pass 3)' section at the bottom and read the definition order: appian-composer-pr, appian-blog, ms-agent-ga.

Expected behavior
Standard footnote convention lists definitions in the same order the markers first appear in the body, so a reader scanning top-to-bottom can match markers to sources sequentially.

Actual behavior
Definitions are ordered in exactly the reverse sequence of first inline appearance, which can confuse a reader trying to cross-reference markers against the list.

inline order:  ms-agent-ga -> appian-blog -> appian-composer-pr
sources order: appian-composer-pr -> appian-blog -> ms-agent-ga  (reversed)

Impact
Minor readability/traceability friction; anchors still resolve correctly by label so nothing is functionally broken, but the ordering works against the document's stated goal of clear sourcing.

Suggested correction
Reorder the three footnote definitions in the 'Sources (Pass 3)' section to: [^ms-agent-ga], [^appian-blog], [^appian-composer-pr].

How to verify
Re-scan the document top-to-bottom and confirm footnote definitions appear in the same order as their first inline marker.

open-source SDLC tool independently arrive at the same sentence, the categories are on a
collision course.
Studio's own thesis is that "an agent governed by a process is reliable." On 2026-04-27,
Appian VP of Product Management Jacob Rank framed its agentic platform in almost identical

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Quote is rewrapped despite byte-identical preservation requirement

Severity: Minor

Problem
The quoted sentence was line-wrapped at a different position while correcting its attribution, so it is not byte-identical between the removed and added text.

How to reproduce

  1. Compare the removed quoted text, which has a newline after 'which is what'.
  2. Compare the added quoted text, which has a newline after 'process is'.
  3. Observe that the newline position changes the raw text bytes.

Expected behavior
The quote should retain identical raw text if byte-identical preservation is required.

Actual behavior
The quote has identical wording but a different newline location.

old: ... process is reliable — which is what\nenterprises ...
new: ... process is\nreliable — which is what ...

Impact
A strict byte-for-byte quote-preservation check fails, even though rendered wording is unchanged.

Suggested correction
Keep the original line break within the quoted text, or revise the requirement to preserve wording rather than bytes.

How to verify
Compare the quoted substring in the old and new versions byte-for-byte.

across 2 new tiers, identified via web research. **Pass 3 research as of 2026-09-08**
— vendor launch dates, GA timing, and quoted statements below reflect what was publicly
verifiable as of that date; re-verify before relying on them for a positioning decision,
and revisit each release cycle per Rf-038.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Freshness caveat has no enforcement mechanism, only prose

Severity: Minor

Problem
The Methodology note says 'revisit each release cycle per Rf-038', but Rf-038 (line 578-585) only states a fix of 'Adopt Tier 4/Tier 5 ... and revisit each release cycle' — no owner, no scheduled trigger, no checklist step, no CI/lint check, and no other part of the document ties this to an actual recurring process.

How to reproduce

  1. Read the Methodology note (lines 8-14) which points to Rf-038 for a recurring re-verification cadence. 2. Read Rf-038 in full (lines 578-585). 3. Observe it contains only narrative text, no operational hook (no date field to check, no task tracker reference, no automated staleness check).

Expected behavior
A freshness caveat referencing a recurring re-verification process should point to something enforceable — e.g., a dated review checklist item, an issue/ticket cadence, or a CI check comparing 'as of' dates against current date.

Actual behavior
The caveat is purely textual; nothing in the diff or document wires 'revisit each release cycle' to any concrete mechanism, so it can be silently missed in future edits — the same failure mode that produced this diff's own corrections.

Methodology note --> 'per Rf-038' --> Rf-038 finding --> 'revisit each release cycle' (prose only, no owner/trigger/checklist) --> no actual enforcement

Impact
Future edits to this document may silently carry forward stale vendor/date claims indefinitely, since there is no mechanism forcing re-verification.

Suggested correction
Add a concrete operational hook: e.g., a dated TODO/ticket reference, a checklist entry in a recurring review process doc, or a lightweight script/CI check that flags entries older than N months.

How to verify
Confirm a new recurring task, ticket, or automated check exists that references the Pass 3 sources' 'as of' date and fires on a defined schedule.

@ainetx ainetx left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Nice cleanup on the Pass 3 sourcing — the vendor date corrections (Microsoft Agent Framework GA, Appian Composer announcement, the CTO→VP attribution fix) are all backed by real citations now, and the footnote mechanics check out well enough to approve. A few small polish items worth a glance before merge, none blocking:

  • Footnote order: the Sources (Pass 3) list is in reverse order versus first inline appearance (should be ms-agent-ga, appian-blog, appian-composer-pr). (comment)
  • Quote rewrap: the corrected-attribution quote got re-wrapped at a different line break, so it's no longer byte-identical to the original even though the words match. (comment)
  • Composer citation placement: the [^appian-composer-pr] marker sits after the announcement/date clause, one sentence before the quoted product description it's meant to support — worth tightening so the footnote clearly attaches to the quote.
  • Freshness caveat is prose-only: the Methodology note points to Rf-038 for a "revisit each release cycle" commitment, but Rf-038 itself has no owner, trigger, or checklist/CI hook behind it — just the same sentence restated. (comment)

None of these affect the substance of the analysis — approving as is.

@ainetx
ainetx merged commit 621e235 into constructorfabric:main Sep 8, 2026
23 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants