<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://docs.saxtonpublishing.com/index.php?action=history&amp;feed=atom&amp;title=Righting_Sentences_AI_-_Future_Development_Plans</id>
	<title>Righting Sentences AI - Future Development Plans - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://docs.saxtonpublishing.com/index.php?action=history&amp;feed=atom&amp;title=Righting_Sentences_AI_-_Future_Development_Plans"/>
	<link rel="alternate" type="text/html" href="https://docs.saxtonpublishing.com/index.php?title=Righting_Sentences_AI_-_Future_Development_Plans&amp;action=history"/>
	<updated>2026-06-06T00:37:26Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.3</generator>
	<entry>
		<id>https://docs.saxtonpublishing.com/index.php?title=Righting_Sentences_AI_-_Future_Development_Plans&amp;diff=86&amp;oldid=prev</id>
		<title>Saxtonmd77 at 15:55, 3 January 2026</title>
		<link rel="alternate" type="text/html" href="https://docs.saxtonpublishing.com/index.php?title=Righting_Sentences_AI_-_Future_Development_Plans&amp;diff=86&amp;oldid=prev"/>
		<updated>2026-01-03T15:55:42Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:55, 3 January 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l16&quot;&gt;Line 16:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 16:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Enable document parsing&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Enable document parsing&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Session management for Firestone (session_id)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Session management for Firestone (session_id)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category: Righting Sentences]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Saxtonmd77</name></author>
	</entry>
	<entry>
		<id>https://docs.saxtonpublishing.com/index.php?title=Righting_Sentences_AI_-_Future_Development_Plans&amp;diff=80&amp;oldid=prev</id>
		<title>Saxtonmd77: /* Future Development Plans */</title>
		<link rel="alternate" type="text/html" href="https://docs.saxtonpublishing.com/index.php?title=Righting_Sentences_AI_-_Future_Development_Plans&amp;diff=80&amp;oldid=prev"/>
		<updated>2026-01-02T15:45:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Future Development Plans&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 15:45, 2 January 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Future Development Plans =&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;= Future Development Plans =&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This page tracks proposed &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;features, architectural changes, and &lt;/del&gt;improvements for the &quot;Righting Sentences&quot; application. Items are listed &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;in no particular order of &lt;/del&gt;priority.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;This page tracks proposed improvements for the &quot;Righting Sentences&quot; application. Items are &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;not &lt;/ins&gt;listed &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;by &lt;/ins&gt;priority.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* *&lt;/del&gt;*Migrate &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Framework &lt;/del&gt;to FastAPI&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:** Refactor the current Flask backend to FastAPI to improve performance and leverage modern async capabilities, preparing for a &quot;headless&quot; architecture.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Migrate &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;framework &lt;/ins&gt;to FastAPI&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;**Implement &quot;&lt;/del&gt;Deep Chat&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot; Frontend:** Replace the current HTML/CSS &lt;/del&gt;frontend &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;with the open-source &quot;Deep Chat&quot; React component to support rich chat features, file uploads, and markdown rendering.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Import &lt;/ins&gt;Deep Chat frontend&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* *&lt;/del&gt;*Create &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;Editorial Logic&quot; &lt;/del&gt;Python &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Module:** Consolidate all style rules into a single `editorial_logic&lt;/del&gt;.py&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;` file, replacing `banned_words.txt` and Vale.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Create &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;an editorial logic file in &lt;/ins&gt;Python &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to replace banned&lt;/ins&gt;.py&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* *&lt;/del&gt;*Add &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;Triad&quot; Detection Logic:** Update editorial &lt;/del&gt;logic to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;detect and flag sentences using the &quot;X, Y, and Z&quot; (three adjectives/verbs) structure&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Add &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;triad &lt;/ins&gt;logic to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;editorial_logic&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;py&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* *&lt;/del&gt;*Add &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&quot;Negative&lt;/del&gt;-&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Positive&quot; Structure Detection:** Update editorial logic &lt;/del&gt;to &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;flag &quot;It&#039;s not X, it&#039;s Y&quot; sentence structures&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Add &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;detection for negative&lt;/ins&gt;-&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;positive sentence construction &lt;/ins&gt;to &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;editorial_logic&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;py&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* *&lt;/del&gt;*Expand &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Banned Words List:** Add new editorial constraints (e.g., &quot;delve&quot;, &quot;tapestry&quot;, &quot;landscape&quot;) to &lt;/del&gt;the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Python logic.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Expand the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;banned words list&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Establish Google Cloud Storage Data Pipeline:*&lt;/del&gt;* Create &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;a mechanism to log &quot;Bad Prompt&quot; + &quot;Good Correction&quot; pairs as JSONL files in a &lt;/del&gt;Google Cloud &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Storage &lt;/del&gt;bucket &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;(`saxton-training-data`).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Create Google Cloud bucket&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Implement &quot;The Tap&quot; (Silent Logging):*&lt;/del&gt;* Add middleware to `main.py` that &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;silently runs editorial logic on every model response and &lt;/del&gt;logs violations to the bucket &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;without user intervention.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Add middleware to `main.py` that logs &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;prompt &lt;/ins&gt;violations to the bucket&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;**Switch to &lt;/del&gt;Google &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Native Authentication &lt;/del&gt;(IAM)&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:&lt;/del&gt;*&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Remove API keys for Gemini; transition to using Google Cloud Service Account permissions (Vertex AI &lt;/del&gt;User &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;role).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Google &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;native authentication &lt;/ins&gt;(IAM)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Implement Cloud Run Native &lt;/del&gt;SSO&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;:** Configure Cloud Run to &quot;Require Authentication&quot; and manage access via IAM &quot;Cloud Run Invoker&quot; roles (initially manual list, later IAP).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* User SSO&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Transition to Vertex AI Models:** Set Gemini 1.5 Flash (or Pro) as the default model, accessed via the `vertexai` library instead of `google-generativeai`.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Add Firestore for chat &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;memory state instead of stateless text windows&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* *&lt;/del&gt;*Add Firestore for &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Chat Memory:** Implement a Google Cloud Firestore database to store conversation history, allowing the model to remember context (stateful &lt;/del&gt;chat&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;).&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Enable &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;document parsing&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* *&lt;/del&gt;*Enable &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Document Parsing:** Add `python-docx` to the backend to parse uploaded Word documents and inject their content into the model&#039;s context window.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Session &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;management for Firestone (&lt;/ins&gt;session_id)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;**Implement &lt;/del&gt;Session &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Management:** Update the backend to handle `&lt;/del&gt;session_id&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;` to persist conversations across browser refreshes using Firestore.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Adopt &quot;Strangler Fig&quot; Deployment Pattern:** Deploy major updates (e.g., v3.0&lt;/del&gt;) &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;to fresh Cloud Run instances while keeping legacy versions active but deprecated to ensure seamless migration.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Security Hardening:** Remove all direct, public links to the active application from public-facing documentation/wikis to prevent bot traffic.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Long-Form Content Agent:** Develop a &quot;Chain of Prompting&quot; workflow (Outline -&amp;gt; Section-by-Section generation) to overcome model laziness in 2,000+ word requests.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Fine-Tuning Strategy:** Plan to use data collected from GPT-4o (Teacher) via &quot;The Tap&quot; to fine-tune a Gemini Flash model (Student) on Vertex AI.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* **Hybrid Development Workflow:** Maintain the ability to run the application locally (MacBook) using `gcloud auth application-default login` for cost-free development and data collection.&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Saxtonmd77</name></author>
	</entry>
	<entry>
		<id>https://docs.saxtonpublishing.com/index.php?title=Righting_Sentences_AI_-_Future_Development_Plans&amp;diff=79&amp;oldid=prev</id>
		<title>Saxtonmd77: Created page with &quot;= Future Development Plans =  This page tracks proposed features, architectural changes, and improvements for the &quot;Righting Sentences&quot; application. Items are listed in no particular order of priority.  * **Migrate Framework to FastAPI:** Refactor the current Flask backend to FastAPI to improve performance and leverage modern async capabilities, preparing for a &quot;headless&quot; architecture. * **Implement &quot;Deep Chat&quot; Frontend:** Replace the current HTML/CSS frontend with the op...&quot;</title>
		<link rel="alternate" type="text/html" href="https://docs.saxtonpublishing.com/index.php?title=Righting_Sentences_AI_-_Future_Development_Plans&amp;diff=79&amp;oldid=prev"/>
		<updated>2026-01-02T15:28:38Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;= Future Development Plans =  This page tracks proposed features, architectural changes, and improvements for the &amp;quot;Righting Sentences&amp;quot; application. Items are listed in no particular order of priority.  * **Migrate Framework to FastAPI:** Refactor the current Flask backend to FastAPI to improve performance and leverage modern async capabilities, preparing for a &amp;quot;headless&amp;quot; architecture. * **Implement &amp;quot;Deep Chat&amp;quot; Frontend:** Replace the current HTML/CSS frontend with the op...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Future Development Plans =&lt;br /&gt;
&lt;br /&gt;
This page tracks proposed features, architectural changes, and improvements for the &amp;quot;Righting Sentences&amp;quot; application. Items are listed in no particular order of priority.&lt;br /&gt;
&lt;br /&gt;
* **Migrate Framework to FastAPI:** Refactor the current Flask backend to FastAPI to improve performance and leverage modern async capabilities, preparing for a &amp;quot;headless&amp;quot; architecture.&lt;br /&gt;
* **Implement &amp;quot;Deep Chat&amp;quot; Frontend:** Replace the current HTML/CSS frontend with the open-source &amp;quot;Deep Chat&amp;quot; React component to support rich chat features, file uploads, and markdown rendering.&lt;br /&gt;
* **Create &amp;quot;Editorial Logic&amp;quot; Python Module:** Consolidate all style rules into a single `editorial_logic.py` file, replacing `banned_words.txt` and Vale.&lt;br /&gt;
* **Add &amp;quot;Triad&amp;quot; Detection Logic:** Update editorial logic to detect and flag sentences using the &amp;quot;X, Y, and Z&amp;quot; (three adjectives/verbs) structure.&lt;br /&gt;
* **Add &amp;quot;Negative-Positive&amp;quot; Structure Detection:** Update editorial logic to flag &amp;quot;It&amp;#039;s not X, it&amp;#039;s Y&amp;quot; sentence structures.&lt;br /&gt;
* **Expand Banned Words List:** Add new editorial constraints (e.g., &amp;quot;delve&amp;quot;, &amp;quot;tapestry&amp;quot;, &amp;quot;landscape&amp;quot;) to the Python logic.&lt;br /&gt;
* **Establish Google Cloud Storage Data Pipeline:** Create a mechanism to log &amp;quot;Bad Prompt&amp;quot; + &amp;quot;Good Correction&amp;quot; pairs as JSONL files in a Google Cloud Storage bucket (`saxton-training-data`).&lt;br /&gt;
* **Implement &amp;quot;The Tap&amp;quot; (Silent Logging):** Add middleware to `main.py` that silently runs editorial logic on every model response and logs violations to the bucket without user intervention.&lt;br /&gt;
* **Switch to Google Native Authentication (IAM):** Remove API keys for Gemini; transition to using Google Cloud Service Account permissions (Vertex AI User role).&lt;br /&gt;
* **Implement Cloud Run Native SSO:** Configure Cloud Run to &amp;quot;Require Authentication&amp;quot; and manage access via IAM &amp;quot;Cloud Run Invoker&amp;quot; roles (initially manual list, later IAP).&lt;br /&gt;
* **Transition to Vertex AI Models:** Set Gemini 1.5 Flash (or Pro) as the default model, accessed via the `vertexai` library instead of `google-generativeai`.&lt;br /&gt;
* **Add Firestore for Chat Memory:** Implement a Google Cloud Firestore database to store conversation history, allowing the model to remember context (stateful chat).&lt;br /&gt;
* **Enable Document Parsing:** Add `python-docx` to the backend to parse uploaded Word documents and inject their content into the model&amp;#039;s context window.&lt;br /&gt;
* **Implement Session Management:** Update the backend to handle `session_id` to persist conversations across browser refreshes using Firestore.&lt;br /&gt;
* **Adopt &amp;quot;Strangler Fig&amp;quot; Deployment Pattern:** Deploy major updates (e.g., v3.0) to fresh Cloud Run instances while keeping legacy versions active but deprecated to ensure seamless migration.&lt;br /&gt;
* **Security Hardening:** Remove all direct, public links to the active application from public-facing documentation/wikis to prevent bot traffic.&lt;br /&gt;
* **Long-Form Content Agent:** Develop a &amp;quot;Chain of Prompting&amp;quot; workflow (Outline -&amp;gt; Section-by-Section generation) to overcome model laziness in 2,000+ word requests.&lt;br /&gt;
* **Fine-Tuning Strategy:** Plan to use data collected from GPT-4o (Teacher) via &amp;quot;The Tap&amp;quot; to fine-tune a Gemini Flash model (Student) on Vertex AI.&lt;br /&gt;
* **Hybrid Development Workflow:** Maintain the ability to run the application locally (MacBook) using `gcloud auth application-default login` for cost-free development and data collection.&lt;/div&gt;</summary>
		<author><name>Saxtonmd77</name></author>
	</entry>
</feed>