Baby Monitor Timmy ಒಂದು ಸರಳ ಆಲೋಚನೆಯಿಂದ ಆರಂಭವಾಯಿತು: ಮನೆಯ ಖಾಸಗಿತನವನ್ನು ಗೌರವಿಸುವ ಬೇಬಿ ಮಾನಿಟರ್. ಕ್ಲೌಡ್ ರೆಕಾರ್ಡಿಂಗ್ಗಳಿಲ್ಲ, ಮಗುವಿನ ಕೊಠಡಿಯಿಂದ ಹೊರಗೆ ಹೋಗುವ ಅನಗತ್ಯ ಡೇಟಾ ಮಾರ್ಗಗಳಿಲ್ಲ. ಹಲವರಿಗೆ ಕಾಣದ ವಿಷಯವೆಂದರೆ: ನಾನು ಜ್ಯೂರಿಕ್ನಲ್ಲಿ Timmyಯನ್ನು ಒಬ್ಬನೇ ನಿರ್ವಹಿಸುವ ಯೋಜನೆಯಾಗಿ ನಿರ್ಮಿಸುತ್ತಿದ್ದೇನೆ, ಮತ್ತು GitHub Copilot ನನ್ನ ಅತ್ಯಂತ ವೇಗದ ಪೇರ್ ಪ್ರೋಗ್ರಾಮರ್ ಆಗಿದೆ.
ಮಾನವ-AI ಕಾರ್ಯವಿಧಾನ
ವಿಭಜನೆ ಸ್ಪಷ್ಟವಾಗಿದೆ: ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ನಾನು ನಿರ್ಧರಿಸುತ್ತೇನೆ, ಆದ್ಯತೆಗಳನ್ನು ನಿಗದಿಪಡಿಸುತ್ತೇನೆ ಮತ್ತು ಆರ್ಕಿಟೆಕ್ಚರ್ ನಿರ್ಧಾರಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತೇನೆ. ಅನುಷ್ಠಾನದಲ್ಲಿ Copilot ಸಹಾಯ ಮಾಡುತ್ತದೆ: ಕೋಡ್ ಬರೆಯುವುದು, ಪರೀಕ್ಷೆಗಳನ್ನು ಸೇರಿಸುವುದು, ದೋಷಗಳ ಮೂಲವನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು ಮತ್ತು ಬಿಡುಗಡೆ ಹಂತಗಳನ್ನು ಸಿದ್ಧಪಡಿಸುವುದು.
ನನಗೆ ಸಾಮಾನ್ಯ ಸ್ಪ್ರಿಂಟ್ ಸರಿಸುಮಾರು ಹೀಗೆ ಕಾಣುತ್ತದೆ:
- ವೈಶಿಷ್ಟ್ಯದ ವಿವರಣೆ: ಎಡ್ಜ್ ಕೇಸ್ಗಳು ಮತ್ತು ಮಿತಿಗಳನ್ನು ಒಳಗೊಂಡಂತೆ, ವೈಶಿಷ್ಟ್ಯ ಏನು ಮಾಡಬೇಕು ಎಂದು ನಾನು ವಿವರಿಸುತ್ತೇನೆ.
- ಅನುಷ್ಠಾನ: Copilot ಕೋಡ್ ಸೂಚಿಸುತ್ತದೆ ಮತ್ತು ಯೋಜನೆಯ ಈಗಿರುವ ನಿಯಮಾವಳಿಗಳನ್ನು ಅನುಸರಿಸುತ್ತದೆ.
- ಪರೀಕ್ಷೆ: ಸ್ವಯಂಚಾಲಿತ ಎಂಡ್-ಟು-ಎಂಡ್ ಪರೀಕ್ಷೆಗಳು ಎರಡು ಎಮ್ಯುಲೇಟರ್ಗಳಲ್ಲಿ ನಡೆಯುತ್ತವೆ ಮತ್ತು ನಿಜವಾದ ಮಗು/ಪೋಷಕ ಸಂಪರ್ಕವನ್ನು ಪರಿಶೀಲಿಸುತ್ತವೆ.
- ವಿತರಣೆ: ಪರೀಕ್ಷೆಗಳು ಯಶಸ್ವಿಯಾದಾಗ, Android ಮತ್ತು iOS ಬಿಲ್ಡ್ಗಳನ್ನು ಸರಿಯಾದ ಸ್ಟೋರ್ ಮತ್ತು ಟೆಸ್ಟಿಂಗ್ ಟ್ರ್ಯಾಕ್ಗಳಿಗೆ ಸಿದ್ಧಪಡಿಸಲಾಗುತ್ತದೆ.
ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಬಗ್ಫಿಕ್ಸ್ಗಳಿಗಾಗಿ ಈ ಚಕ್ರ ಪುನರಾವರ್ತನೆಯಾಗುತ್ತದೆ. ಪ್ರತಿಯೊಂದು ಸಾಲಿನ ಕೋಡ್ನ್ನೂ ನಾನು ಸ್ವತಃ ಬರೆಯುವುದಿಲ್ಲ, ಆದರೆ ಏನು ನಿರ್ಮಾಣವಾಗಬೇಕು, ಏಕೆ ಅದನ್ನು ನಿರ್ಮಿಸಬೇಕು ಮತ್ತು ಒಂದು ಸಲಹೆ Timmyಗೆ ಸರಿಹೊಂದುತ್ತದೆಯೇ ಎಂಬುದನ್ನು ನಾನು ನಿರ್ಧರಿಸುತ್ತೇನೆ.
ಕಲ್ಪನೆಯಿಂದ WebRTCವರೆಗೆ
ಪ್ರಮುಖ ತಾಂತ್ರಿಕ ಕೆಲಸ ಮೊದಲಿನಿಂದಲೇ ಸ್ಪಷ್ಟವಾಗಿತ್ತು: ಎರಡು ಫೋನ್ಗಳ ನಡುವೆ ರಿಯಲ್-ಟೈಮ್ ಆಡಿಯೊ ಮತ್ತು ವೀಡಿಯೊ. WebRTC ಸಹಜ ಆಯ್ಕೆಯಾಗಿತ್ತು, ಆದರೆ ಅದನ್ನು Flutter ಜೊತೆಗೆ ಒಗ್ಗೂಡಿಸುವುದು ಸುಲಭವಲ್ಲ: ICE candidates, SDP negotiation, TURN fallback ಮತ್ತು DataChannels ಸರಿಯಾದ ಕ್ರಮದಲ್ಲಿ ಒಟ್ಟಿಗೆ ಕೆಲಸ ಮಾಡಬೇಕು.
ಈ ಭಾಗಗಳನ್ನೆಲ್ಲ ಹಂತ ಹಂತವಾಗಿ ಜೋಡಿಸಲು Copilot ನನಗೆ ಸಹಾಯ ಮಾಡಿತು: peer connection ಹೊಂದಿಸುವುದು, ಮುಖ್ಯ ಕ್ರಮವನ್ನು ಸರಿಯಾಗಿ ಇಡುವುದು (offerಗಿಂತ ಮೊದಲು DataChannel, setRemoteDescriptionಗಿಂತ ಮೊದಲು onTrack), ಮತ್ತು signaling ಅನ್ನು Firebase Firestoreನಲ್ಲಿ ಇಡುವುದು. ಮುಂದಿನ ಹಂತಕ್ಕೆ ಹೋಗುವ ಮುನ್ನ ಪ್ರತಿಯೊಂದು ಭಾಗವೂ ಎರಡು ಎಮ್ಯುಲೇಟರ್ಗಳಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸಬೇಕಿತ್ತು.
ECDH ಮೂಲಕ ಸುರಕ್ಷಿತ ಪೇರಿಂಗ್
ಅತ್ಯಂತ ಮಹತ್ವದ ವೈಶಿಷ್ಟ್ಯಗಳಲ್ಲಿ ಒಂದು ಸುರಕ್ಷಿತ ಪೇರಿಂಗ್ ವ್ಯವಸ್ಥೆವಾಗಿತ್ತು. ಎರಡು ಸಾಧನಗಳು, ಅವುಗಳ ಗುರುತನ್ನು ದೃಢೀಕರಿಸಲು ಕೇಂದ್ರೀಯ ಸರ್ವರ್ನ ಮೇಲೆ ಅವಲಂಬಿಸದೆ, ಪರಸ್ಪರ ನಂಬಿಕೆಯನ್ನು ಸ್ಥಾಪಿಸಬೇಕಾಗುತ್ತದೆ. ಪರಿಹಾರ: Firebase ಮೂಲಕ ECDH P-256 ಕೀ ವಿನಿಮಯ, ಜೊತೆಗೆ man-in-the-middle ದಾಳಿಗಳನ್ನು ಪತ್ತೆಮಾಡುವ ದೃಶ್ಯ ಪರಿಶೀಲನಾ ಸಂಖ್ಯೆ (SAS).
ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಸರಣಿಯನ್ನು ಅನುಷ್ಠಾನಗೊಳಿಸಲು Copilot ಸಹಾಯ ಮಾಡಿತು: ಕೀ ಸೃಷ್ಟಿ, ಸಾರ್ವಜನಿಕ ಕೀ ವಿನಿಮಯ, ಹಂಚಿಕೊಂಡ ರಹಸ್ಯದ ಗಣನೆ, SAS ಲೆಕ್ಕಾಚಾರ ಮತ್ತು ನಂತರದ ಎಲ್ಲ signaling ಡೇಟಾಗಾಗಿ AES-256-GCM ಎನ್ಕ್ರಿಪ್ಶನ್. ನಾನು ಪೇರಿಂಗ್ ಕೀಯನ್ನು ಬ್ಯಾಕೆಂಡ್ಗೆ ಕಳುಹಿಸುವುದಿಲ್ಲ; ಅದರ SHA-256 ಹ್ಯಾಶ್ ಅನ್ನು ಮಾತ್ರ Firestore ಡಾಕ್ಯುಮೆಂಟ್ ಗುರುತಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ.
ಭದ್ರತಾ ಆಡಿಟ್: ದುರ್ಬಲತೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚುವುದು ಮತ್ತು ಸರಿಪಡಿಸುವುದು
AI ನೆರವಿನ ಅಭಿವೃದ್ಧಿ ಎಂದರೆ ನನಗೆ ಕೇವಲ ವೇಗವಾಗಿ ಟೈಪ್ ಮಾಡುವುದಲ್ಲ. ವ್ಯವಸ್ಥಿತವಾಗಿ ಬಗ್ಗಳನ್ನು ಹುಡುಕಲು ಕೂಡ ಇದು ಸಹಾಯ ಮಾಡುತ್ತದೆ. ಕೇಂದ್ರೀಕೃತ ಭದ್ರತಾ ಆಡಿಟ್ ಸ್ಪ್ರಿಂಟ್ನಲ್ಲಿ, Copilot ಕೋಡ್ಬೇಸ್ ಅನ್ನು ವಿಶ್ಲೇಷಿಸಿ ಆರು ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಿತು; ಅವನ್ನು ನಾನು ಸರಿಪಡಿಸಬೇಕಿತ್ತು:
- Signaling ಡೇಟಾಗೆ ಇನ್ಪುಟ್ ಪರಿಶೀಲನೆ ಇಲ್ಲದಿರುವುದು
- ICE candidate ನಿರ್ವಹಣೆಯಲ್ಲಿ ಸಂಭವನೀಯ race conditions
- ಸರಿಯಾಗಿ ಸ್ವಚ್ಛಗೊಳಿಸಲಾಗದ ಹಳೆಯ session ಡೇಟಾ
- ತುಂಬಾ ಸಡಿಲವಾಗಿದ್ದ Firestore ಭದ್ರತಾ ನಿಯಮಗಳು
- certificate pinning ಕುರಿತು ಪರಿಗಣನೆಗಳ ಕೊರತೆ
- TURN credential flowನಲ್ಲಿ ಸಾಕಷ್ಟು ದೋಷ ನಿರ್ವಹಣೆ ಇಲ್ಲದಿರುವುದು
ಆರು ಸಮಸ್ಯೆಗಳನ್ನೂ ಅದೇ ಸ್ಪ್ರಿಂಟ್ನಲ್ಲಿ ಸರಿಪಡಿಸಲಾಯಿತು. Copilot ಬಲವಾಗಿರುವುದು ಇಲ್ಲಿ: ಅನೇಕ ಫೈಲ್ಗಳನ್ನು ಓದುವುದು, ಮಾದರಿಗಳನ್ನು ಹೋಲಿಸುವುದು ಮತ್ತು ನಾನು ಹೆಚ್ಚು ಗಮನಿಸಿ ಪರಿಶೀಲಿಸಬೇಕಾದ ಸ್ಥಳಗಳನ್ನು ಗುರುತಿಸುವುದು.
ಪುನರಾವರ್ತಿತ ಸ್ಪ್ರಿಂಟ್ಗಳು: ಆ್ಯಪ್ ಹೇಗೆ ಬೆಳೆದಿತು
Timmy ವೇಗವಾದ, ಆದರೆ ಸ್ಪಷ್ಟ ಮಿತಿಯೊಳಗಿನ ಸ್ಪ್ರಿಂಟ್ಗಳ ಮೂಲಕ ಬೆಳೆಯಿತು. ಕೆಲವು ಮೈಲಿಗಲ್ಲುಗಳು:
- v1.8: ಸಂಪೂರ್ಣ ಪೇರಿಂಗ್ ಮರುವಿನ್ಯಾಸ — Firebase ಮೂಲಕ 4-ಅಕ್ಷರದ ಕೋಡ್ + ECDH P-256 ಹಳೆಯ ನೇರ-ಕೀ ವಿಧಾನವನ್ನು ಬದಲಿಸಿತು.
- v1.10: ಭದ್ರತಾ ಬಲಪಡಿಸುವ ಸ್ಪ್ರಿಂಟ್ — ಆರು ದುರ್ಬಲತೆಗಳ ಆಡಿಟ್ ಮತ್ತು ಸರಿಪಡಿಸುವ ಚಕ್ರ.
- v1.11: ಎಲ್ಲ ಪರದೆಗಳಲ್ಲಿ ಡಾರ್ಕ್ ಮೋಡ್, ಜೊತೆಗೆ ನೀವು ಈಗ ಓದುತ್ತಿರುವ ಮುಖಪುಟ ಮತ್ತು ಬ್ಲಾಗ್.
- v1.12: ಪೋಷಕರ ಪರದೆಯ ದೊಡ್ಡ ಮರುರೂಪಣೆ, ನೈಟ್ ವಿಷನ್ ಮೋಡ್ ಮತ್ತು ಕ್ಯಾಮೆರಾ ಫ್ರೇಮ್ ವಿಶ್ಲೇಷಣೆಯ ಮೂಲಕ ಚಲನೆ ಪತ್ತೆ.
ಪ್ರತಿ ಸ್ಪ್ರಿಂಟ್ ಒಂದೇ ಮೂಲ ಮಾದರಿಯನ್ನು ಅನುಸರಿಸುತ್ತದೆ: ಗುರಿಯನ್ನು ವಿವರಿಸುವುದು, ಸಲಹೆಗಳನ್ನು ಪರಿಶೀಲಿಸುವುದು, ಸ್ವಯಂಚಾಲಿತ ಪರೀಕ್ಷೆ ನಡೆಸುವುದು, ನಂತರ ಪರೀಕ್ಷಕರಿಗೆ ಬಿಡುಗಡೆ ಮಾಡುವುದು.
ಸಾಧನಗಳಾದ್ಯಂತ E2E ಪರೀಕ್ಷೆ
ಒಂದು ಸಾಧನದಲ್ಲಿ ಬೇಬಿ ಮಾನಿಟರ್ ಅನ್ನು ಸರಿಯಾಗಿ ಪರೀಕ್ಷಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ನನಗೆ ಒಂದು ಮಗು-ಸಾಧನ ಮತ್ತು ಒಂದು ಪೋಷಕ-ಸಾಧನ ಬೇಕು. ಯೋಜನೆ ಎರಡು Android ಎಮ್ಯುಲೇಟರ್ಗಳನ್ನು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಚಲಾಯಿಸುವುದರಿಂದ ಆರಂಭವಾಯಿತು; ಈಗ ಅದಕ್ಕೆ ಸ್ಥಳೀಯ iOS ಸಿಮ್ಯುಲೇಟರ್ ಮತ್ತು ನೈಜ ಸಾಧನ ಪರೀಕ್ಷೆಗಳನ್ನೂ ಸೇರಿಸಲಾಗಿದೆ. ಸ್ವಯಂಚಾಲಿತ Android ಪರೀಕ್ಷಾ ಸ್ಕ್ರಿಪ್ಟ್ ಇನ್ನೂ:
- ಎರಡೂ ಎಮ್ಯುಲೇಟರ್ಗಳಲ್ಲಿ ಆ್ಯಪ್ ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡುತ್ತದೆ
- ಎರಡೂ ಸಾಧನಗಳಲ್ಲಿ ಪೇರಿಂಗ್ ಪ್ರಕ್ರಿಯೆ ಮೂಲಕ ಸಾಗುತ್ತದೆ
- ಆಡಿಯೊ ಮತ್ತು ವೀಡಿಯೊ ಸಂಪರ್ಕಗಳು ಸ್ಥಾಪನೆಯಾಗಿವೆ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತದೆ
- push-to-talk, ಕ್ಯಾಮೆರಾ ನಿಯಂತ್ರಣ ಮತ್ತು ಇತರ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪರೀಕ್ಷಿಸುತ್ತದೆ
ಎರಡೂ ಎಮ್ಯುಲೇಟರ್ಗಳು ಒಂದೇ IP ವಿಳಾಸವನ್ನು ಹಂಚಿಕೊಳ್ಳುವುದರಿಂದ (10.0.2.15), STUN ಮೂಲಕ ನೇರ ಪೀರ್-ಟು-ಪೀರ್ ಸಂಪರ್ಕ ಸಾಧ್ಯವಿಲ್ಲ. ಪ್ರತಿ ಪರೀಕ್ಷಾ ಚಾಲನೆಯೂ Cloudflare TURN ರಿಲೇ ಮೂಲಕವೇ ಹೋಗಬೇಕು. ಇದು ಸ್ವಲ್ಪ ಕಿರಿಕಿರಿ ಉಂಟುಮಾಡುತ್ತದೆ, ಆದರೆ ಉಪಯುಕ್ತವೂ ಹೌದು: ಅತ್ಯಂತ ಸಂಕೀರ್ಣವಾದ ಸಂಪರ್ಕ ಮಾರ್ಗವನ್ನು ಪ್ರತಿ ಬಾರಿ ಪರೀಕ್ಷಿಸಲಾಗುತ್ತದೆ.
ನಾನು ಕಲಿತದ್ದು
AI ಪೇರ್ ಪ್ರೋಗ್ರಾಮರ್ ಜೊತೆಗೆ ಸಂಪೂರ್ಣ ಆ್ಯಪ್ ನಿರ್ಮಿಸುವುದು ನನಗೆ ಕೆಲವು ಪಾಠಗಳನ್ನು ಕಲಿಸಿತು:
- ಆರ್ಕಿಟೆಕ್ಚರ್ ಹಿಂದೆಂದಿಗಿಂತಲೂ ಮುಖ್ಯ. ಸ್ಪಷ್ಟ ನಿಯಮಾವಳಿಗಳು ಮತ್ತು ಉತ್ತಮ ದಾಖಲೆಗಳಿರುವ ಕೋಡ್ಬೇಸ್ AIಗೆ ಒಂದೇ ರೀತಿಯ ಕೋಡ್ ಸೂಚಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತವೆ. ಅಸ್ಪಷ್ಟತೆ ಬೇಗನೆ ದುಬಾರಿಯಾಗುತ್ತದೆ.
- ಪರೀಕ್ಷೆ ಅನಿವಾರ್ಯ. AI ರಚಿಸಿದ ಕೋಡ್ಗೂ ಮಾನವರು ಬರೆದ ಕೋಡ್ನಷ್ಟೇ ಕಠಿಣ ಪರೀಕ್ಷೆ ಬೇಕು. ಸ್ವಯಂಚಾಲಿತ E2E ಪರೀಕ್ಷೆಗಳು ಕೈಯಾರೆ ಗಮನಿಸದೆ ಹೋಗಬಹುದಾದ ಸಮಸ್ಯೆಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಿದವು.
- ಮಾನವನು ಪ್ರಕ್ರಿಯೆಯಲ್ಲೇ ಇರುತ್ತಾನೆ. ಪ್ರತಿ ಆರ್ಕಿಟೆಕ್ಚರ್ ನಿರ್ಧಾರ, ಪ್ರತಿ ಭದ್ರತಾ ಹೊಂದಾಣಿಕೆ ಮತ್ತು ಪ್ರತಿ ಉತ್ಪನ್ನದ ಮಿತಿ ನನ್ನಲ್ಲೇ ಇರುತ್ತದೆ. AI ಅನುಷ್ಠಾನವನ್ನು ವೇಗಗೊಳಿಸುತ್ತದೆ, ಆದರೆ ವಿವೇಚನೆಯನ್ನು ಬದಲಿಸುವುದಿಲ್ಲ.
- ವೇಗವು ಗುಣಮಟ್ಟಕ್ಕೆ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ದಿನಗಳ ಬದಲು ಗಂಟೆಗಳಲ್ಲಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಬಿಡುಗಡೆ ಮಾಡಬಹುದಾದ್ದರಿಂದ, ಅಂತಿಮ ಮೆರುಗು ಮತ್ತು ಬಗ್ಫಿಕ್ಸ್ಗಳಿಗೆ ಹೆಚ್ಚು ಪುನರಾವರ್ತನೆಗಳು ಉಳಿಯುತ್ತವೆ. ವೇಗವಾಗಿದೆ ಎಂದ ಮಾತ್ರಕ್ಕೆ ಅದು ಉತ್ತಮ ಎಂದಲ್ಲ.
ಮುಂದೆ ಏನು
Baby Monitor Timmy ನಿರಂತರವಾಗಿ ಅಭಿವೃದ್ಧಿಯಾಗುತ್ತಿದೆ. iOS ಬಿಡುಗಡೆ ಹತ್ತಿರದಲ್ಲಿದೆ; ಅದರ ನಂತರ ಹೆಚ್ಚುವರಿ ಸೆನ್ಸರ್ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ನಿರಂತರ ಭದ್ರತಾ ಬಲಪಡಿಸುವಿಕೆ ಬರಲಿದೆ. ಕಾರ್ಯವಿಧಾನ ಹೋಲಿಕೆಯಾಗಿಯೇ ಇರುತ್ತದೆ: ನಾನು ದಿಕ್ಕು ಮತ್ತು ಮಿತಿಗಳನ್ನು ನಿಗದಿಪಡಿಸುತ್ತೇನೆ, Copilot ಬೇಗನೆ ಅನುಷ್ಠಾನಗೊಳಿಸಲು ಮತ್ತು ಪರಿಶೀಲಿಸಲು ಸಹಾಯ ಮಾಡುತ್ತದೆ.
ಭದ್ರತೆಗೆ ಸಂಬಂಧಿಸಿದ ಪ್ರಮುಖ ಘಟಕಗಳು ಈಗ ಸ್ಪಷ್ಟ ಮಿತಿಗಳೊಂದಿಗೆ ಸಾರ್ವಜನಿಕ baby-monitor-timmy-core ರೆಪೊಸಿಟರಿಯಲ್ಲಿಇವೆ. ಪೇರಿಂಗ್, signaling ಮತ್ತು ಬ್ಯಾಕೆಂಡ್ ಇಂಟರ್ಫೇಸ್ಗಳ ಕುರಿತ ಆರ್ಕಿಟೆಕ್ಚರ್ ನಿರ್ಧಾರಗಳನ್ನೂ ಅಲ್ಲಿಯೇ ದಾಖಲಿಸಲಾಗಿದೆ.